System for web-based payroll and benefits administration

ABSTRACT

The system provides an automated, centralized back-end payroll service with a full-featured web-based payroll system. Both aspects of the system have access to a central database, including: profile information on employers and employees; timesheet, salary and hourly wage data; overtime data; employee benefit data; and information regarding third-party providers and miscellaneous payees.  
     The full-featured payroll system functionality is implemented in a manner that provides employers and employees (to the extent security policies permit) with a robust, data-driven user interface via a standard web browser. The central database provides the system&#39;s back-end (server-side) payroll service functionality with constant access to the data.  
     The system&#39;s back-end payroll service functionality generates disbursement information for payments to employees, benefit providers, miscellaneous payees, and various tax authorities, subject to compliance with the system&#39;s database of rules and automatically effects transfers of funds, payment information, and reports, whether electronic or otherwise, at the appropriate times.

RELATED U.S. APPLICATION

[0001] This is a continuation of U.S. patent application Ser. No. 09/411,332, filed Oct. 1, 1999, entitled, “SYSTEM FOR WEB-BASED PAYROLL AND BENEFITS ADMINISTRATION”.

FIELD OF THE INVENTION

[0002] This invention relates generally to the field of electronic payroll and benefit systems, and in particular to various aspects of online systems designed to facilitate online payroll and benefits administration.

BACKGROUND OF THE INVENTION

[0003] The processing of a company's payroll involves many steps that are susceptible to automation. Although the advent of PC-based standalone payroll systems facilitated the widespread automation of certain of these steps for small as well as large businesses, there remains a significant “manual break” in the process—between functionality relating to the calculation of employee/contractor paychecks (including income derived from raw timesheet and salary data, as well as taxes and pre-tax and post-tax deductions) and functionality relating to the calculation and disbursement of employer tax liabilities (to federal, state and local tax authorities), as well as compliance with various associated reporting requirements and distribution of paychecks.

[0004] The latter functions typically are performed manually within a company or delegated to an outside payroll service. The convenience of a payroll service cannot be overestimated. Keeping track of the legal payment and reporting requirements across federal, state and local tax authorities, and complying with the many employment-related laws, is a complex task for which most companies are ill-suited. The process is not only difficult and time consuming, but often results in errors, which ultimately may cause the company to incur significant liability in the form of back payments and penalties, as well as substantial expenditures of time and money to determine the cause of and resolve such errors.

[0005] Moreover, it is inefficient for most companies to set up the infrastructure necessary to handle this task. A centralized payroll service can deploy this infrastructure once to implement employment-related laws and payment and reporting requirements to federal, state and local tax authorities for numerous companies on a nationwide, or even worldwide, basis. It can automate the disbursement of funds and the generation and, often even, transfer of information necessary to meet the various reporting requirements. The cost to a company of hiring an outside payroll service can be offset by the elimination of the need for certain part-time or full-time accounting personnel.

[0006] Yet, many small companies continue to handle the payroll process themselves, relying on standalone payroll systems to provide total control and flexibility with limited out-of-pocket cost. As a tradeoff for saving the cost of an outside payroll service, such companies simply accept the inconvenience of having to act as their own manual payroll service, often making mistakes, as noted above, by failing to comply with particular employment-related laws or missing payment or reporting deadlines to the various relevant tax authorities.

[0007] Examples of such standalone payroll systems include the payroll modules of the “MAS 90 Accounting System” from Sage Software, Inc. of Irvine, Calif. (www.sota.com), the “AbraSuite” human resources and payroll management software from Best Software, Inc. of Reston, Va. (www.bestsoftware.com), and the “Solomon IV” business management suite from Solomon Software Inc. of Findlay, Ohio (www.solomon.com).

[0008] Although such systems are relatively full-featured and are designed to assist companies in acting as their own in-house payroll service (e.g., calculating employer tax liabilities), they require a significant amount of manual intervention in areas of a process that is susceptible to automation. They also require knowledgeable accounting personnel and dedicated computing infrastructure, such as database servers.

[0009] These systems do not, for example, enforce compliance with the many tax-related and employment-related laws and other regulations that span federal, state and even local jurisdictions. As noted above, such a task is far better-suited to a centralized payroll service than an individual company or even the developer of a mass-marketed PC-based software product (which would have to be upgraded frequently to track all such relevant changes). Most payroll services (including centralized services), however, do not attempt to enforce or automate compliance. Rather, such services merely calculate taxes and mail tax payments and required reports to tax authorities.

[0010] Moreover, once the relevant calculations are performed, the company still must, in addition to printing and distributing paychecks, manually schedule and make the required payments to the relevant tax authorities at the appropriate time, in addition to meeting the various reporting requirements. These standalone payroll systems do not automate such tasks. It is therefore not surprising, for example, that Best Software, Inc. (identified above) also offers the “Abra TaxFile Payroll Tax Filing Service” to complement the “Abra Payroll” module of its AbraSuite software, in order to guard against tax filing errors and provide employers with the benefits of AbraSuite's electronic finds transfer infrastructure.

[0011] Some very small companies rely exclusively on an outside payroll service, performing only those calculations necessary to supply the payroll service with the summary data that it requires, and in the format that it specifies. As a tradeoff for saving the cost of certain part-time or full-time accounting personnel, such companies accept payroll service fees in order to gain the convenience of having the payroll service manage the entire process of calculating and distributing employee/contractor paychecks, calculating employer/employee tax liabilities and distributing the required payments and reports to the appropriate tax authorities.

[0012] Yet, with the convenience of a payroll service comes the loss of flexibility and control over the payroll process. The companies that rely on such services must manually calculate the components of the summary payroll data required by the payroll service, including gross income (hourly or salaried, along with any overtime, bonuses, commissions, etc.) and various medical and other benefits, as well as allocations among pre-tax and post-tax deductions. Such companies must also conform to the time deadlines imposed by the payroll service, or risk missing a payroll. Exceptions (which occur fairly frequently in any reasonably sized company) are difficult for a payroll service to manage. Even a change in direct deposit requirements may not be implemented by an outside payroll service for two or three pay periods from the time of the initial request. Finally, the company must manually extract (and perhaps translate) the summary data into the particular data format required by the payroll service, often making each payroll a special case.

[0013] Well-known payroll services from ADP (Automatic Data Processing, Inc.) of Roseland, N.J. (www.adp.com), Paychex, Inc. of Rochester, N.Y. (www.paychex.com), and PayMaxx, Inc. of Franklin, Tenn. (www.paymaxx.com) all enable companies to outsource the calculations necessary to generate employee paychecks and employer/employee tax liabilities, and to make scheduled tax filings and payments to the relevant tax authorities. As noted above, however, companies must first generate the summary information for each pay period (including income, overtime, bonuses, commissions, pre-tax and post-tax deductions, etc.) and provide it to the payroll service in the specified format.

[0014] Larger companies in particular have attempted to get the “best of both worlds” by adopting a hybrid approach, using a standalone payroll system to calculate payroll-related data, and then manually transferring summary payroll data to an outside payroll service. One problem with this approach, however, is that payroll services require summary data in a particular format, which is not necessarily compatible with the output generated by standalone payroll systems (which typically are designed to enable companies to act as their own in-house payroll service). As a result, companies must manually integrate these two incompatible systems.

[0015] For example, not only must a company make manual modifications to transfer this summary data to the payroll service in the appropriate format, but any subsequent changes made to the raw data (e.g., a timesheet adjustment, added bonus, etc.) necessitate repeating this process to regenerate the summary data. In many cases, to avoid missing a payroll, companies must move certain changes to the next payroll, requiring additional modifications to the payroll system data. In short, keeping these two different systems synchronized often requires numerous manual modifications.

[0016] Companies offering such hybrid systems, often with human resource information systems (“HRIS”) as well as payroll functionality, include ProBusiness, Inc. (www.probusiness.com) and PeopleSoft, Inc. (www.peoplesoft.com), both of Pleasanton, Calif., and Payroll Online Corporation of Bellevue, Wash. (payrollonline.com).

[0017] Larger companies that rely on enterprise-level HRIS and payroll systems must perform a significant amount of manual processing to synchronize the output of their payroll systems with the data format expected by their outside payroll services. As noted above, there is a distinct “manual break” in between two relatively automated processes.

[0018] Moreover, standalone payroll systems, even if used in conjunction with an outside payroll service, are inherently difficult to maintain. They must be updated frequently to reflect constant changes not only in tax laws and tax tables, but in the various employment-related laws that span federal, state and local jurisdictions. Frequently distributing such changes on a mass-market basis is simply not practical, even via the Internet, particularly when the local databases maintained by such systems must, in effect, be synchronized with those of a company's outside payroll service.

[0019] Recent trends toward outsourcing resource-intensive tasks such as HRIS and payroll management are gradually leading enterprise-level software vendors such as Oracle Corporation and PeopleSoft to offer “online leases” of their enterprise-level applications via the Internet. See, for example, “Net Lets Small Firms Run Faster Without an IT Team” (Lorna Fernandes, San Francisco Business Times, week of Feb. 15, 1999) and “The Perfect Host” (Jeffrey Zygmont, CFO Magazine, May 1999).

[0020] With the advent of the Internet and, in particular, the World Wide Web, payroll services have gradually attempted to migrate some of their functionality online, in an effort to reach a broader audience and to simplify communication with their customers. Similarly, standalone payroll system vendors are beginning to offer payroll-service functionality, often utilizing the Internet to facilitate the transfer of data.

[0021] Unfortunately, such systems do not adequately integrate payroll system functionality with that of a centralized payroll service. Companies still are forced to perform preliminary manual calculations to provide summary payroll data to an outside payroll service, or manually extract such summary data from a standalone payroll system.

[0022] Vendors seeking to integrate payroll service functionality with their existing standalone payroll systems still rely on PC-based client software that maintains a local database. As noted above, it is difficult to update such systems on a sufficiently frequent basis to enable them to enforce compliance with current employment-related laws. As a result, such systems leave this task to the employer, resulting in frequent errors that even a sophisticated payroll service may not detect. Moreover, synchronizing the data from the system's local database with that of an outside payroll service (even from the same vendor) results in the “manual break” in the process referred to above, requiring additional personnel and other resources within both the employer and the system vendor.

[0023] Vendors seeking to integrate a company's existing payroll system functionality with their outside payroll services face similar problems. These “web-based payroll services” offer little more than a web-based form that enables companies to enter summary payroll data directly into a browser (as opposed to using a telephone or fax machine), and perhaps see summary reports for approval before submitting the payroll. They do not address the problems described above with respect to integrating payroll system functionality with an outside payroll service.

[0024] Examples of such “integrated” products include “EasyPayWin” and “EasyPayNet” from ADP (www.adp.com) “Millenium” and “ESN Extranet” from Payroll Online Corporation (www.payrollonline.com), and “Virtual Payroll” from Virtual Payroll, Inc. of Margate, Fla. (www.virtualpayroll.com).

[0025] Existing payroll systems and payroll services, including those discussed above, also have not adequately integrated employee benefits into the payroll process, despite claims to the contrary. For example, certain medical benefits result in both pre-tax and post-tax deductions. Although existing payroll systems permit such deductions to be entered, they do not enable companies to set up custom policies pursuant to which the system will calculate automatically (for each pay period) the appropriate pre-tax and post-tax amounts for all employees/contractors. Moreover, existing payroll services do not typically handle employer disbursements to medical, life insurance and other benefit providers, requiring companies to manage such payments (and generate and transfer associated reports) themselves.

[0026] More generally, existing payroll systems and payroll services do not enforce compliance with the various employment-related and tax-related rules governing this process. For example, such systems and services would permit an employee to include a $1000/month paycheck deduction for a 401(k) plan on a pre-tax basis, despite the current $10,000 annual pre-tax deduction limit on such plans (which changes most years). Existing payroll systems and services also do not enable employees to designate miscellaneous payees for salary deduction payments, such as out-of-pocket medical expenses, mortgage payments, and child-care payments.

[0027] What is needed is an online payroll and benefits system that provides employers with the flexibility and control of an automated standalone payroll as well as the convenience of a seamlessly integrated outside payroll service.

SUMMARY OF THE INVENTION

[0028] The present invention addresses the above-described concerns by seamlessly integrating an automated, centralized back-end payroll service with a full-featured web-based payroll system. Both aspects of this tightly integrated system have access to the same database of raw information, which includes, for example, general profile information on the employer and each employee/contractor, employee/contractor timesheet, salary and hourly wage data, company overtime, medical, life insurance and other benefit policy data, as well as information on third-party providers and miscellaneous payees.

[0029] Full-featured payroll system functionality is implemented, in one embodiment, both on the server side and on the client side, using “ActiveX” controls that provide employers and employees (to the extent security policies permit) with a robust user interface via a standard web browser. In this embodiment, a centralized database is maintained on the server side (though it could be embodied as separately synchronized client-side and server-side components) to provide the system's back-end (server-side) payroll service functionality with constant access to the same raw data. The system user interfaces are driven by the data contained within the centralized database.

[0030] The system implements and enforces compliance with a wide variety of tax-related and employment-related rules across federal, state and local jurisdictions (relating, for example, to overtime pay, benefit limits, payment frequency, and scheduled reporting requirements, as well as various tax rules and tables). The system can automatically receive and implement electronic updates to these rules, modifying its own functionality to conform to these changes and ensure compliance with current rules. Moreover, these rules can include employers' own custom policies, e.g., an overtime policy that provides benefits beyond those required by law.

[0031] Full-featured payroll system functionality includes the automated collection of employee data (e.g., timesheets that can be entered manually or automatically via an interface with time clock devices) and the calculation of employee/contractor income, taxes, and pre-tax and post-tax deductions. The system automatically calculates overtime, imputed income, and paid-time-off benefits, and allocates the sharing of payments for other employee benefit programs between employers and employees, as well as enabling employers to set up custom policies, e.g., for overtime, 401(k) and medical “cafeteria” plans.

[0032] In addition, the system enables employees to specify policies for payments to miscellaneous third-party payees, such as an automatic deduction for an employee's mortgage payment. In fact, employees could elect to use the system as a centralized bill payment system for their personal bills. Employees can even be given the option of selecting among multiple medical, 401(k), life insurance and other benefit providers, with the system automatically implementing the appropriate benefit plan policies for each employee, e.g., affecting allocations among pre-tax and post-tax deduction amounts. Employers also can specify custom reports (in addition to those required by law), which the system will generate and transfer automatically to the appropriate party (employer, employee, benefit provider, etc.) at the specified reporting interval.

[0033] Employers can review and validate paychecks for each employee/contractor, modify virtually any of the raw data and immediately recalculate paychecks, and even print some or all paychecks locally, submitting the remainder of the payroll (with a single click of the mouse or push of a button) to the system's automated back-end payroll service.

[0034] Once a payroll has been submitted, the system's back-end payroll service functionality uses this same raw data to generate disbursement information for payments to employees/contractors, benefit providers, miscellaneous payees, and various tax authorities. These calculations remain subject to compliance with the same database of rules that was used to calculate employee paychecks.

[0035] The system applies these rules to determine the source, destination and scheduled timing for disbursement of funds and transfer of information (e.g., reports, tax filings, and associated payment information) among the various payers and payees, and then automatically effects such transfers (whether electronic or otherwise) at the appropriate times. For example, for each pay period, finds are transferred (typically electronically) from the employer's account to that of the payroll service, from which paychecks are automatically transferred electronically, or printed and mailed (if not printed locally by the employer), to each employee/contractor. At the appropriate time (not necessarily corresponding with a pay period), funds are also transferred (as are any automatically generated reports) to the appropriate tax authorities, benefit providers and miscellaneous payees (e.g., lienholders, child care providers, etc.).

[0036] Various other features have been added (as described below) to provide employers and employees with additional flexibility and control over the payroll process, and to facilitate automated communication and integration of functionality not only between the company and its payroll service, but with miscellaneous payees, benefit providers and other third parties as well.

BRIEF DESCRIPTION OF THE FIGURES

[0037] The above objects and description of the present invention may be better understood with the aid of the following text and accompanying drawings:

[0038]FIG. 1 shows the high-level architecture of an embodiment of the present invention.

[0039]FIG. 2 shows the functionality and dynamic flow of information through a payroll system.

[0040]FIG. 3 shows the functionality and dynamic flow of information through a payroll service.

[0041]FIG. 4(a) shows the data organization of an embodiment of the present invention at the system level.

[0042]FIG. 4(b) shows the data organization of an embodiment of the present invention at the employer level.

[0043]FIG. 4(c) shows the data organization of an embodiment of the present invention at the employee level.

[0044]FIG. 5 shows a screen print of a login interface in an embodiment of the present invention.

[0045]FIG. 6 shows a screen print of an interactive user interface displaying navigational options related to an Employer's payroll in an embodiment of the present invention.

[0046]FIG. 6(a) shows a screen print of an interactive user interface for displaying an Employer's address information in an embodiment of the present invention.

[0047]FIG. 7(a) shows a screen print of an interactive user interface for displaying an Employer's office information in an embodiment of the present invention.

[0048]FIG. 7(b) shows a screen print of an interactive user interface for displaying an Employer's division information in an embodiment of the present invention.

[0049]FIG. 7(c) shows a screen print of an interactive user interface for displaying an Employer's department information in an embodiment of the present invention.

[0050]FIG. 8(a) shows a screen print of an interactive user interface for assigning employees to an Employer's offices in an embodiment of the present invention.

[0051]FIG. 8(b) shows a screen print of an interactive user interface for assigning employees to an Employer's divisions in an embodiment of the present invention.

[0052]FIG. 8(c) shows a screen print of an interactive user interface for assigning employees to an Employer's departments in an embodiment of the present invention.

[0053]FIG. 8(d) shows a screen print of an interactive user interface for selecting employee names to be displayed in an embodiment of the present invention.

[0054]FIG. 9 shows a screen print of an interactive user interface for displaying bank information in an embodiment of the present invention.

[0055]FIG. 10 shows a screen print of an interactive user interface for displaying Employer-defined paid-time-off schedules in an embodiment of the present invention.

[0056]FIG. 10(a) shows a screen print of another view of an interactive user interface for displaying Employer-defined paid-time-off schedules in an embodiment of the present invention.

[0057]FIG. 10(b) shows a screen print of an interactive user interface for calculating paid-time-off accrual in an embodiment of the present invention.

[0058]FIG. 10(c) shows a screen print of an interactive user interface for testing a paid-time-off accrual rates table in an embodiment of the present invention.

[0059]FIG. 11 shows a screen print of an interactive user interface for specifying paid-time-off accruals in an embodiment of the present invention.

[0060]FIG. 12(a) shows a screen print of an interactive user interface for displaying employee benefit plans in an embodiment of the present invention.

[0061]FIG. 12(b) shows a screen print of another view of an interactive user interface for displaying employee benefit plans in an embodiment of the present invention.

[0062]FIG. 12(c) shows a screen print of another view of an interactive user interface for displaying employee benefit plans in an embodiment of the present invention.

[0063]FIG. 12(d) shows a screen print of an interactive user interface for selecting employee benefit plans in an embodiment of the present invention.

[0064]FIG. 13 shows a screen print of an interactive user interface for displaying payee information in an embodiment of the present invention.

[0065]FIG. 14(a) shows a screen print of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.

[0066]FIG. 14(b) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.

[0067]FIG. 14(c) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.

[0068]FIG. 14(d) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.

[0069]FIG. 14(e) shows a screen print of another view of an interactive user interface for displaying employee-shared deduction information in an embodiment of the present invention.

[0070]FIG. 15(a) shows a screen print of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.

[0071]FIG. 15(b) shows a screen print of another view of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.

[0072]FIG. 15(c) shows a screen print of another view of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.

[0073]FIG. 15(d) shows a screen print of another view of an interactive user interface for displaying Employer-matching deduction information in an embodiment of the present invention.

[0074]FIG. 15(e) shows a screen print of an interactive user interface for selecting tax-deductible benefit plans in an embodiment of the present invention.

[0075]FIG. 16 shows a screen print of an interactive user interface for displaying information regarding payroll taxes in an embodiment of the present invention.

[0076]FIG. 16(a) shows a screen print of another view of an interactive user interface for displaying information regarding payroll taxes in an embodiment of the present invention.

[0077]FIG. 16(b) shows a screen print of another view of an interactive user interface for displaying information regarding payroll taxes, including a tax table, in an embodiment of the present invention.

[0078]FIG. 17 shows a screen print of an interactive user interface for specifying alternative payroll taxes in an embodiment of the present invention.

[0079]FIG. 18(a) shows a screen print of an interactive user interface for displaying Employer-defined payroll groups in an embodiment of the present invention.

[0080]FIG. 18(b) shows a screen print of another view of an interactive user interface for displaying Employer-defined payroll groups in an embodiment of the present invention.

[0081]FIG. 18(c) shows a screen print of another view of an interactive user interface for displaying Employer-defined payroll groups in an embodiment of the present invention.

[0082]FIG. 19 shows a screen print of an interactive user interface for assigning employees to an Employer's payroll groups in an embodiment of the present invention.

[0083]FIG. 20 shows a screen print of an interactive user interface for specifying an Employer-defined autopay schedule in an embodiment of the present invention.

[0084]FIG. 21(a) shows a screen print of an interactive user interface for displaying Employer-defined pay rate types in an embodiment of the present invention.

[0085]FIG. 21(b) shows a screen print of another view of an interactive user interface for displaying Employer-defined pay rate types in an embodiment of the present invention.

[0086]FIG. 22 shows a screen print of an interactive user interface for displaying Employer-defined pay scales for particular job classifications in an embodiment of the present invention.

[0087]FIG. 23 shows a screen print of an interactive user interface for displaying an Employer's holiday schedule in an embodiment of the present invention.

[0088]FIG. 23(a) shows a screen print of an interactive user interface for selecting holidays to be included in an Employer's holiday schedule in an embodiment of the present invention.

[0089]FIG. 24(a) shows a screen print of an interactive user interface for displaying information regarding payees to whom payments will be made from payroll deductions in an embodiment of the present invention.

[0090]FIG. 24(b) shows a screen print of another view of an interactive user interface for displaying information regarding payees to whom payments will be made from payroll deductions in an embodiment of the present invention.

[0091]FIG. 25(a) shows a screen print of an interactive user interface for displaying labor codes in an embodiment of the present invention.

[0092]FIG. 25(b) shows a screen print of an interactive user interface for defining general ledger codes in an embodiment of the present invention.

[0093]FIG. 26 shows a screen print of an interactive user interface for selecting an employee for payroll processing in an embodiment of the present invention.

[0094]FIG. 26(a) shows a screen print of an interactive user interface for commencing input of information regarding a new employee in a workflow sequence in an embodiment of the present invention.

[0095]FIG. 26(b) shows a screen print of an interactive user interface for inputting information regarding a new employee in a workflow sequence in an embodiment of the present invention.

[0096]FIG. 27(a) shows a screen print of an interactive user interface for displaying personal information regarding a particular employee in an embodiment of the present invention.

[0097]FIG. 27(b) shows a screen print of an interactive user interface for displaying home address information regarding a particular employee in an embodiment of the present invention.

[0098]FIG. 27(c) shows a screen print of an interactive user interface for displaying Employer contact information regarding a particular employee in an embodiment of the present invention.

[0099]FIG. 28(a) shows a screen print of an interactive user interface for displaying payroll information regarding a particular employee in an embodiment of the present invention.

[0100]FIG. 28(b) shows a screen print of another view of an interactive user interface for displaying payroll information regarding a particular employee in an embodiment of the present invention.

[0101]FIG. 28(c) shows a screen print of an interactive user interface for displaying Employer-defined overtime rules in an embodiment of the present invention.

[0102]FIG. 29 shows a screen print of an interactive user interface for setting the termination date of an employee in an embodiment of the present invention.

[0103]FIG. 30(a) shows a screen print of an interactive user interface for displaying pay rate information regarding a particular employee in an embodiment of the present invention.

[0104]FIG. 30(b) shows a screen print of another view of an interactive user interface for displaying pay rate information regarding a particular employee in an embodiment of the present invention.

[0105]FIG. 31 shows a screen print of an interactive user interface for displaying periodic earnings information regarding a particular employee in an embodiment of the present invention.

[0106]FIG. 32 shows a screen print of an interactive user interface for displaying periodic deductions information regarding a particular employee in an embodiment of the present invention.

[0107]FIG. 33 shows a screen print of an interactive user interface for displaying paid-time-off information regarding a particular employee in an embodiment of the present invention.

[0108]FIG. 34(a) shows a screen print of an interactive user interface for displaying insurance plan information regarding a particular employee in an embodiment of the present invention.

[0109]FIG. 34(b) shows a screen print of another view of an interactive user interface for displaying insurance plan information regarding a particular employee in an embodiment of the present invention.

[0110]FIG. 35(a) shows a screen print of an interactive user interface for displaying payroll tax information regarding a particular employee in an embodiment of the present invention.

[0111]FIG. 35(b) shows a screen print of another view of an interactive user interface for displaying payroll tax information regarding a particular employee in an embodiment of the present invention.

[0112]FIG. 36 shows a screen print of an interactive user interface for displaying year-to-date taxable earnings of a particular employee in an embodiment of the present invention.

[0113]FIG. 37 shows a screen print of an interactive user interface for displaying year-to-date tax deductions of a particular employee in an embodiment of the present invention.

[0114]FIG. 38 shows a screen print of an interactive user interface for displaying direct deposit information regarding a particular employee in an embodiment of the present invention.

[0115]FIG. 39 shows a screen print of an interactive user interface for selecting a contractor for payroll processing in an embodiment of the present invention.

[0116]FIG. 39(a) shows a screen print of an interactive user interface for commencing input of information regarding a new contractor in a workflow sequence in an embodiment of the present invention.

[0117]FIG. 39(b) shows a screen print of an interactive user interface for inputting information regarding a new contractor in a workflow sequence in an embodiment of the present invention.

[0118]FIG. 40(a) shows a screen print of an interactive user interface for displaying a timesheet summary of a selected payroll group in the current payroll in an embodiment of the present invention.

[0119]FIG. 40(b) shows a screen print of an interactive user interface for displaying a timesheet of a particular employee in the current payroll in an embodiment of the present invention.

[0120]FIG. 40(c) shows a screen print of an interactive user interface for displaying a paycheck of a particular employee in the current payroll in an embodiment of the present invention.

[0121]FIG. 41(a) shows a screen print of an interactive user interface for displaying a timesheet summary of a selected payroll group in an unscheduled payroll in an embodiment of the present invention.

[0122]FIG. 41(b) shows a screen print of an interactive user interface for displaying a timesheet of a particular employee in an unscheduled payroll in an embodiment of the present invention.

[0123]FIG. 41(c) shows a screen print of an interactive user interface for displaying a paycheck of a particular employee in an unscheduled payroll in an embodiment of the present invention.

[0124]FIG. 42 shows a screen print of an interactive user interface for selecting parameters for electronic processing of a particular payroll in an embodiment of the present invention.

[0125]FIG. 43 shows a screen print of a system message regarding funding of a particular payroll in an embodiment of the present invention.

[0126]FIG. 44 shows a screen print of a system message providing information regarding an Employer-initiated “FedWire” payroll transaction in an embodiment of the present invention.

[0127]FIG. 45(a) shows a printout of a paycheck and pay stub generated by an embodiment of the present invention.

[0128]FIG. 45(b) shows a printout of a direct deposit pay stub generated by an embodiment of the present invention.

[0129]FIG. 46(a) shows a printout of a payee check and payment summary generated by an embodiment of the present invention.

[0130]FIG. 46(b) shows a printout of another payee check and payment summary generated by an embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0131] General Architecture

[0132] One embodiment of the present invention described herein is an online Internet-based (World Wide Web) system that combines the flexibility and functionality of a standalone payroll system with the convenience of a payroll service, and automatically integrates the interface between the payroll system and payroll service functionality, in addition to providing other novel features.

[0133]FIG. 1 illustrates the high-level architecture of an embodiment of the invention. Users, e g, the payroll administrator of a company with employees and/or contractors (an “Employer”), access the system via remote terminals 10, such as personal computers that are equipped with hardware and software to provide an interactive connection to the Internet 15. Processing related to Employers' communications and interactions with the system are coordinated by application server 20. Application server 20 coordinates and controls a variety of applications (some of which may be installed locally on the remote terminals 10) that comprise the system's features and functionality, including software that performs various calculations, rule applications, disbursements, electronic funds transfers, and report generation related to the administration and processing of Employers' payrolls and benefit plans.

[0134] In performing its coordination and control functions, application server 20 communicates with a plurality of data collections. These collections may be implemented as databases, tables, or other data structures, and comprise the primary categories of data manipulated by the system. These data collections are shown in FIG. 1 and described below at a high level, with greater detail subsequently provided in the context of a specific example of an embodiment of this invention.

[0135] For each Employer, employee data 30 consists of information about the Employer's employees and/or contractors, including: personal information (e.g., name, employee number, social security number, date of birth, etc.), address information, company contact information (e.g., office, division, department, telephone number, etc.), payroll information (e.g., salary or hourly status, payroll group, exempt status indicators, etc.), pay rate information (e.g., salary, hourly rate, overtime rate, etc.), periodic earnings information (e.g., bonuses, commissions, tips, etc.), periodic deductions information (e.g., 401(k), child support, medical plan contributions, etc.), benefit information (e.g., paid time off, insurance, etc.), tax information (e.g., tax type, withholding allowances, etc.), and direct deposit information (e.g., bank name, routing number, account number, etc.). The Employer typically inputs this information into the system, though some information, such as benefit elections, automatic deductions, and direct deposit elections may be input directly by the employees.

[0136] For each Employer, employer data 40 includes information specific to the Employer, including: address information (for headquarters and other locations), structure information (e.g., departments, divisions), bank information (for bank account(s) from which payroll is funded), paid-time-off policies (e.g., vacation time and sick time payment schedules, including calculation and accrual parameters), holiday information (regarding holidays recognized by one or more of Employer's offices), benefit information (regarding standard and custom health plans, insurance plans, etc.), deduction information (regarding shared and matching contributions by Employer for employee benefits), tax information (regarding tax authorities applicable to Employer's payroll), payroll group information (regarding Employer-defined payroll groups), and pay rate information (regarding Employer-defined pay rates). The Employer typically inputs this information into the system.

[0137] For each Employer, payroll data 50 includes the total payroll for each pay period, including timesheet and paycheck summaries for all employees and contractors employed during a given pay period. This information is compiled during and after processing of employee data 30 and employer data 40.

[0138] For each Employer, benefits data 60 includes information regarding employee benefits, such as health insurance, dental insurance, life insurance, disability insurance, and 401(k) plans. The stored information includes: provider name and address, benefit plan type, plan name, plan group number, effective date, expiration date, amount to be paid by Employer to provider, billing cycle, Employer-to-provider payment method (e.g., Automated Clearinghouse (“ACH”) or “FedWire” debit), bank routing number, and account number. The Employer typically inputs this information into the system.

[0139] For each Employer, payees data 70 includes information regarding payees to whom periodic or ad hoc payments will be made by the Employer from employee paycheck deductions, such as mortgage lenders, investment banks, insurance companies, child support agencies, and charities. The stored information includes: payee name and address, payee type (lender, investment bank, insurance company, child support agency, charity, etc.), payer's (i.e., employee's) name, payer's account number with payee, amount to be paid by Employer to payee, billing cycle, Employer-to-payee payment method (e.g., check, direct deposit), bank routing number, and account number. The Employer or third-party administrator typically inputs this information into the system; however, an employee could do this as well if the employee elects to use the system as a centralized bill payment system.

[0140] Tax authorities data 80 includes information regarding tax authorities applicable to Employers' payrolls, as determined each payroll period by application server 20 based on Employers' particular data (i.e., addresses of Employer's offices) and employees'/contractors' home addresses. This information is common to multiple Employers that use the system, though not all Employers pay taxes to the same tax authorities. Tax authorities include the U.S. Internal Revenue Service, as well as state and local tax agencies. In some embodiments of this invention, tax authorities data 80 may also include international tax agencies. The stored information includes: name, address, and payment information (e.g., bank routing number and account number for electronic payment, address for payment by check, TXP Addendum information for ACH tax payments). In addition, for each tax authority included in tax authorities data 80, there is at least one entry in tax forms data 82, tax tables and calculations data 84, and tax payment data 86. Tax forms data 82 includes, for each tax authority, copies of required forms in printable PDF format or “Report Writer” format (where signatures are required) or EDI format (where electronic filing is permitted) that are filed by the system for Employers, as well as filing deadlines based on accumulated tax liabilities during the filing period and other related information. The system determines which forms are required in particular situations and provides the users with the requisite forms. Tax tables and calculations data 84 includes, for each tax authority, tax formula steps and tables necessary to calculate payroll and withholding taxes. Tax payment data 86 includes, for each tax authority, rules and information regarding tax payment, including electronic payment.

[0141] Bank data 90 includes information regarding system bank accounts from which Employers' payments to employees, tax authorities, benefit providers, and miscellaneous payees will be funded. This information is common to multiple Employers that use the system, though not all Employers use the same accounts. The stored information includes: bank name, bank routing number, and account number for the bank account.

[0142] Holidays data 100 includes information regarding standard holidays (both U.S. and international) applicable to Employers' payrolls. This information is common to multiple Employers that use the system, though not all Employers recognize all holidays included in the data. The stored information includes: holiday name, actual date of holiday (e.g., July 4 for Independence Day holiday), and description of holiday (e.g., first Monday in September for Labor Day holiday).

[0143] System data 110 includes information related to and used in administration of the system. This information includes security data 112, server data 114, and workflow sequence data 116. Security data 112 includes numeric security levels that can be used by an Employer to limit the access of particular users to certain user interface screens, fields within screens, employee data, office data, payroll group data, and/or other groupings of data. Server data 114 includes information regarding servers communicating with the system application server 20, including database servers and web servers of each Employer using the system. The system uses server data 114 in order to dynamically reconfigure and load balance Employers' servers. The system performs such reconfiguring and load balancing in the event of server failures or to improve performance.

[0144] Workflow sequence data 116 includes information and executable code that enables Employers to create customized, automated workflows through the system user interface screens. Such a workflow can be invoked via a keystroke or by clicking a button and automatically guides the user through a pre-selected sequence of interface screens, rather than requiring the user to select each interface screen along the way. The system provides software “wizards” that enable the user to navigate forwards or backwards through a series of interface screens, while preserving the data already entered by the user on any of the screens. Some workflows may be provided by the system, including new company and new employee or contractor sequences (see, e.g., FIGS. 26(a)-(b), 39(a)-(b)). The automated workflows provide the user with increased speed and efficiency in using the system and provide Employers with a method of imposing security restrictions over certain system functionality.

[0145] Rules data 120 includes a variety of rules applied by application server 20 in performing payroll and benefits processing. Rules data 120 contains system-defined rules related to such functionality as overtime calculation (e.g., different rules based on daily, weekly, and bi-weekly overtime limits, as applicable), payment calculation, tax calculation, reporting, and legal compliance. For example, the system applies a legal compliance rule that will determine that an employee who contributes $1000 per monthly paycheck to her 401 (k) account has exceeded the annual $ 10,000 limit and, accordingly, will notify the user regarding processing of the additional $2000 contribution.

[0146] In some embodiments of this invention, such rules are implemented in the form of “stored procedures,” i.e., executable, optimized SQL statements and data tables. The stored procedures are created by a source code generator based on steps contained within the data tables, such as tax calculation steps. Rules and calculations can be easily modified by adding or deleting steps within the data tables, without manually modifying the SQL statements within the stored procedures. Customized steps can be combined with standard steps to create customized rules and calculations. Further, such rules and calculations are easily auditable.

[0147] For example, the “Apply Nonexempt Limits” stored procedure contains SQL statements that calculate legally-required overtime for employees who are not exempt from overtime rules. After checking that the selected payroll group belongs to Employer, the stored procedure will cause the system to collect the list of non-exempt employees in the payroll group and, for each such employee, save the employee's timesheet data for the current payroll period in a temporary table. Next, the stored procedure will retrieve the employee's time entries for the 14-day period prior to the payroll date (i.e., the workdays covered in the current payroll date) and subtract out any previously awarded calculated overtime.

[0148] The stored procedure will next retrieve the employee's overtime hours and insert the hours into a calculation area. The overtime hours will be treated differently depending upon how the employee's overtime is calculated: (i) if calculated on a daily basis, the overtime hours will be inserted as negative hours and subtracted from any overtime calculated on a weekly or bi-weekly basis; (ii) if calculated on a weekly basis, the overtime hours (excluding any hours determined on a daily basis) will be inserted as negative hours and subtracted from any overtime calculated on a bi-weekly basis; (iii) if calculated on a bi-weekly basis, the overtime hours (excluding any hours determined on a daily or weekly basis) will be inserted as negative hours. The stored procedure will check that the calculated overtime hours do not exceed any overtime limits applicable to the employee. Next, the stored procedure will clear out any previously calculated overtime from the employee's timesheet and insert the newly calculated overtime hours; the system will reverse the sign of the overtime hours in order to produce a positive number (for calculation purposes). Finally, using these hours, the employee's pay rate, and the applicable overtime multiplier, the stored procedure will calculate the employee's overtime pay and insert that value into the employee's paycheck.

[0149] As another example, the “Calculate Taxes” stored procedure contains SQL statements that calculate the payroll taxes for each employee. After checking that the selected payroll group belongs to Employer, the stored procedure will cause the system to collect the list of employees in the payroll group and, for each employee, calculate all applicable taxes, usually starting at the federal level and moving down to the smallest applicable tax authority; if there is more than one tax at a particular level (e.g., multiple state income taxes), the stored procedure will set the desired order for calculating the taxes. The stored procedure also directly processes taxes that are a percentage of another tax (e.g., a state income tax that is a percentage of federal income tax), and ensures that such taxes are calculated in the correct order. In some circumstances, this means that the stored procedure automatically calculates the “smaller” tax before the “larger” tax, e.g., the federal unemployment tax (“FUTA”) is calculated as a percentage of the “smaller” state unemployment insurance tax.

[0150] Rules data 120 will be updated automatically as existing rules are modified or new rules are created. For example, in the embodiment of the invention described herein, the system automatically updates tax rules by running proprietary, automated parser software on a monthly basis against tax law CD-ROMs that are commercially available from CCH Incorporated of Riverwoods, Ill. The parser software reviews the tax rules for relevant updates and uploads such updates to rules data 120. The system then processes the updates and dynamically generates data table entries from which executable SQL statements are generated.

[0151] Payroll System Functionality

[0152] In one embodiment of the invention described herein, the system includes functionality that is typically associated with stand alone payroll systems, functionality that is typically associated with payroll services, an “interface” between the payroll system and payroll service functionality, and other novel features.

[0153]FIG. 2 illustrates the process flow of the “payroll system”-type functionality included in the present embodiment. The process flow is not strictly linear; thus, a number of the steps that will be described can be performed in a different order, or at any time. For illustration purposes, only, the process flow will be described as shown in FIG. 2.

[0154] For each employee and/or contractor included in the payroll for a particular pay period, an Employer first undertakes the step of collecting employee data 1000 (including any contractor data) for the particular time period. The employee data includes both timesheet data 1002 and non-timesheet data 1004. Non-timesheet data 1004 includes bonuses, commissions, tips, and other non-hourly or -salary based earnings accrued during the pay period that will be included in the employee's paycheck. Timesheet data 1002 includes hours worked (e.g., daily or total for pay period) and paid time off during the particular pay period, and may be collected (Lie., imported or keyed-in) on a daily basis or at the end of the pay period. If maintained on a daily basis, the system permits the Employer to “certify” the daily payroll. In one embodiment of this invention, employees' hours worked may be imported via a TCP/IP plug-in to third-party a time clock mechanism that communicates with and sends data directly to the system, in order to eliminate the need for keying-in the timesheet data. In other embodiments of this invention, employees' hours may be entered via an offline browser that automatically uploads data to a shared database from which it can be accessed by the system. Alternatively, electronic timesheets can be downloaded by the Employer for offline entry and subsequent upload to the system. These features are improvements upon traditional payroll systems, which do not include daily payroll capabilities or integrated timesheets.

[0155] Next, the system calculates the employee's income for the pay period 1010. A necessary input to this step is base rate information 1012 regarding the employee (included in employee data 30), which includes the employee's hourly pay rate for the period. This calculation step 1010 includes several sub-calculations for the pay period, such as: (1) calculation of base rate income 1015 (e.g., hourly or salary); (2) calculation of overtime 1016, if applicable, as required by law and applicable custom benefits or agreements; (3) calculation of imputed income 1017, i.e., non-paid income such as domestic-partner benefits, use of company car, per diem in excess of standard amount, life insurance in excess of standard amount, etc., for which there is a corresponding post-tax deduction (the system automatically enters a corresponding deduction so that the employee's gross income does not change); and (4) calculation of extra income 1018, i.e., non-timesheet income such as bonuses, commissions, tips, vacation pay, benefit accrual, etc. Note that traditional stand-alone payroll systems and services do not offer automatic overtime or imputed income calculations, as this invention provides. Some of these sub-calculations require the step of applying rules 1020 from rules data 120. For example, the overtime calculation may require application of Employer-specific overtime rules 120 a corresponding to a union bargaining agreement. Other rules may relate to payment calculation 120 b, reporting 120 c, tax calculation 120 d, and legal compliance 120 e.

[0156] In this embodiment, the system next calculates the employee's pre-tax deductions for the pay period 1030. This calculation step 1030 may include several sub-calculations, such as: (1) calculation of the employee's 401(k) contribution 1035, if applicable; and (2) calculation of the employee's “cafeteria” plan 1036, which may cover insurance premiums, childcare expenses, out-of-pocket medical expenses, etc., if applicable. For example, step 1036 applies where the employee commits to an optional one-year fixed deduction to fund a pre-tax medical plan, which the Employer can match in a “medical savings account cafeteria” plan. Where applicable, and as a part of step 1036, the system can decide how much of the employee's contribution goes to the pre-tax cafeteria plan and how much goes to a non-deductible health insurance plan. Step 1030 requires use of employee benefits information 1032 (included in benefits data 60), such as amounts to be deducted from the employee's paycheck. Step 1030 may also require the step of applying rules 1020 from rules database 120, such as legal compliance rules 120 e to ensure that the employee does not make 401(k) contributions above the annual limit, which has tax implications. In such a situation, the system can limit the employee's annual deduction or transfer the excess deduction to another deduction. Further, after determining the employee's pre-tax calculations, the system may need to calculate the Employer's matching contribution to the employee's 401(k) plan 1040, if the Employer provides such a matching benefit.

[0157] The system next calculates the employee's payroll taxes for the pay period 1050. This calculation step 1050 may include the following sub-calculations: (1) calculation of the employee's federal payroll taxes 1055, including income tax, social security (FICA), and Medicare payments; (2) calculation of the employee's state payroll taxes 1056, including income tax, disability tax, and unemployment tax payments, if applicable; (3) calculation of the employee's local payroll taxes 1057, such as city or county taxes, if applicable; and (4) calculation of the employee's international payroll taxes 1054, if applicable. Step 1050 requires use of the employee's tax withholding information 1052 (included in employee data 30), as well as tax information 1053 regarding the applicable tax authorities, including tax rates and calculations (included in tax authorities data 80 and tax tables and calculations data 84). These calculations may also require the application of rules 1020 from rules data 120, such as additional tax rules 120 d.

[0158] After calculating the employee's payroll taxes for the pay period, the system calculates the employee's post-tax deductions for the pay period 1060. This calculation step 1060 may include several sub-calculations, such as: (1) calculation of imputed income domestic partner benefits, etc.), if applicable, which was determined in prior step 1017; and (2) calculation of non-deductible payments to payees 1065, including benefits providers (e.g., medical insurance, life insurance, etc.) and miscellaneous payees (e.g., mortgage lenders, investment banks, insurance companies, child support agencies, childcare providers, charities, etc.) to whom payments will be made by the Employer from employee paycheck deductions. Step 1060 requires use of employee benefits information (included in benefits data 60) and miscellaneous payees information (included in payees data 70), such as amounts to be deducted from the employee's paycheck. These calculations may require the application of rules 1020 from rules data 120, such as payment rules 120 e regarding payments to particular payees. Note that this system provides employees with the ability to select and directly access arbitrary payees for the purpose of automatic payroll deductions on a periodic or ad hoc basis.

[0159] After the system calculates the employee's taxes and deductions, the system generates the employee's paycheck for validation purposes 1070. The Employer can then view the employee's paycheck and associated raw and summary data online, in order to validate the paycheck 1080. Employee data that will be displayed by the system includes the following: name, identification number (e.g., social security number), pay rate or salary, pay period end date, status indicator regarding whether paycheck was prepaid, earnings broken out by type (e.g., regular, overtime, reimbursement, health benefits, etc.), hours (if applicable) broken out by type (e.g., regular, overtime), total pay amount broken out by type (e.g., regular, overtime, reimbursement, health benefits, etc.), deduction and tax amounts broken out by type (e.g., FICA, insurance premiums, 401(k), etc.), and a summary for the present and prior paychecks, showing employee's gross earnings, net earnings, and total deductions. If necessary, the Employer can adjust or modify the raw data online and the system will automatically recalculate the paycheck 1082 and display the revised information. The Employer can also view the raw and summary data in the context of various integrated reports that compare the employee to other employees. The combination of data display, modification, recalculation, and report generation provided by this invention facilitates the Employer's generation of accurate and timely paychecks, making it far less likely that the Employer will miss a payroll date.

[0160] The Employer can repeat the entire process of steps 1000-1080 for each employee and/or contractor on its payroll.

[0161] Payroll System/Service “Interface”

[0162] Once the Employer has completed the payroll system process for each employee on its payroll (or for as many employees as the Employer desires), the system can automatically generate and present to the Employer a summary of the payroll-related data for all employees 1090. It should be noted that this data can include as little or as much detail as the user desires, because the system retains access to the raw data used for the various payroll-related calculations. The system can “transfer” 1100 this summary data to the payroll service functionality, though this step does not typically involve a physical transfer of data, in that the integrated payroll service functionality also has access to the same raw data that was used to generate the summary payroll information 1090. The system therefore avoids the manual transfer of summary payroll data that typically occurs between a traditional payroll system and payroll service. The summary data 1090 contained in payroll data 50 can be modified by the Employer and recalculated 1092, if necessary.

[0163] Payroll Service Functionality

[0164] Unlike traditional stand alone payroll systems, which typically require the Employer to manually act as the payroll service, the embodiment of the invention described herein automatically “transfers” (i.e., utilizes) the payroll summary data 1090 from the payroll system (as well as raw payroll data, to the extent necessary) and provides full payroll service functionality.

[0165]FIG. 3 illustrates the process flow of the “payroll service”-type functionality included in one embodiment of the present invention. The process flow is not strictly linear; thus, a number of the steps that will be described can be performed in a different order, or at any time. For illustration purposes, only, the process flow will be described as shown in FIG. 3.

[0166] The payroll summary data 1090 that was transferred from the payroll system functionality 1100 is available to the payroll service via payroll data 50. The system first accesses that data in order to generate payroll disbursement information 1110 for each employee, benefit provider, and miscellaneous payee to whom funds will be disbursed by the Employer. The information that will be generated includes the amount to be paid, the due date for the payment, and the method of disbursement (e.g., electronic deposit, check). In performing this step 1110, the system performs the following sub-steps: (1) generation of payroll disbursement information for each employee 1111, including net paycheck amount; (2) generation of disbursement information regarding each medical and insurance benefit provider 1112, including the amount to be paid to the provider for all employees receiving benefits, which consists of both the Employer's share and the aggregate of employees' contributions, and payment and updated enrollment information (e.g., change in marital status or dependents); (3) generation of disbursement information regarding each 401(k) investment provider 1113, including the amount to be paid to the provider for each participating employee, which consists of both the Employer's share (if Employer matches employee contributions) and the aggregate of employees' contributions; and (4) generation of disbursement information regarding miscellaneous payees 1114 (e.g., mortgage lenders, investment banks, insurance companies, child support agencies, charities, etc.) to whom payments will be made by the Employer from employee paycheck deductions, including the amount to be paid to each payee and payment and updated enrollment information.

[0167] This step 1110 also requires the calculation of due dates 1120 for each disbursement to be made, and may require the application of rules 1020 from rules data 120, such as payment rules 120 e regarding payments to particular payees. Note that this system automatically provides disbursements to benefit providers and to arbitrary payees selected by employees.

[0168] After generating payroll disbursements, the system calculates and generates tax liability disbursements 1130. Such disbursements include payments owed to various tax authorities, including federal, state, and local governments, for both employee and Employer taxes. The information that will be generated for each tax authority includes the amount to be paid, due date for the payment, and the method of disbursement (e.g., electronic deposit, check). This step 1130 requires the calculation of due dates 1120 for each disbursement to be made, and requires the application of rules 1020 from rules data 120, including additional tax rules 120 d.

[0169] Once disbursements have been calculated and generated, the system will move money from account to account 1140 in order to facilitate the payment of Employer's disbursements. First, the system transfers the sum total of Employer's disbursements (less any disbursement checks already printed by Employer) from Employer's account(s) to a central payment service account 1141 (or another account held by Employer for purpose of making disbursements), via an electronic transfer, such as an ACH, “FedWire,” or “reverse FedWire” debit. The system next “moves” the money to particular payees in the previously-determined amounts, taking into account whether the payment is to be made via check, in which case the system will print the check 1150, or via an electronic funds transfer, in which case the system will format the data to properly transmit the electronic payment to the recipient 1160. Transfers take place from the system account to: employees 1142, via direct deposit; tax authorities 1143, via ACH+TXP and electronic funds transfer processing (“EFTPS,” which is specific to federal tax payments); and benefit providers 1144 and miscellaneous payees 1145, via ACH transfers. The system will make a single payment to a particular benefit provider 1144 or miscellaneous payee 1145 on behalf of multiple Employers via one electronic transfer or check, but will send separate reports for each Employer; the system sends electronic transfers to tax authorities, however, only on behalf of one Employer per electronic transfer. Note that, unlike traditional payroll services, this system handles not only direct deposit payments to employees and electronic payments to tax authorities, but also payments (electronic and otherwise) to third-party payees.

[0170] The final step in the process is the generation and sending of reports 1170. These reports include reports to: employees 1172, such as pay stubs and annual W-2 statements; tax authorities 1174, such as Federal annual Form 940 and Federal quarterly Form 941 and California quarterly Form DE-6 and annual Form DE-7; benefit providers 1176, such as statements reporting payment per employee; miscellaneous payees 1178, such as statements identifying the particular employee(s) for whom payment was made by account number; and the Employer 1180, such as a summary of disbursements made during the pay period and other reports. This step 1170 requires the application of rules 1020 from rules data 120, including reporting rules 120 c, which set forth the proper format for electronic reports. For example, only a small number of state tax authorities accept the electronic filing of wage reports; rules 120 c provide the system with this information, including the required formats (reporting formats may also be found in certain tax forms contained in tax forms data 82). In an embodiment of this invention, some reports (e.g., reports for the Employer) may be accessed online using a report writer to generate the reports. Note that this system supports the generation and transmission of reports not only to Employers and tax authorities, but also to benefit providers and third-party payees.

[0171] Database Organization

[0172] The data that is stored in and manipulated by the system can be organized in a series of databases, tables, or other data structures. In the embodiment of the invention described herein, the data is organized in a series of related tables that are accessed using software procedures written in SQL data retrieval language.

[0173] The primary collections of data can be viewed conceptually at three levels: (1) system level; (2) Employer level; and (3) employee level. The system level includes collections of data that are useable and accessible across multiple Employers using the system. The Employer level includes collections of data that will contain different information for each Employer. The employee level includes collections of data that will contain different information for each employee.

[0174] 1. System Level

[0175] The data components at the system level include the data necessary for operation and administration of the system as well as data that is common to multiple Employers, employees, or third-party providers using the system. FIG. 4(a) illustrates the key data components, which are stored as tables in the present embodiment of the invention. Note that each table includes a keyed identification code or number (“ID”) for each record in the table (e.g., “Companies_ID” for each company, i.e., Employer, in the “Companies” table 200). The ID codes increase the data access speed.

[0176] “Companies” table 200 includes specific information about each Employer using the system, such as name, address, zip code, and dates that the company began operating and terminated operations (if applicable). The system's security functionality only permits access to information about a particular Employer to that Employer or to authorized customer support personnel.

[0177] “Payees” table 210 includes specific information about each payee to which at least one Employer or employee transmits payroll deductions, including: name, ID(s) of associated Employer(s), ID(s) of associated employee(s) for whom payments are made, employee information (e.g., account number with payee), day of month to make payment, EDI information, and bank routing and account numbers for electronic payments. The system permits each Employer to create relationships with payees in the “Payees” table 210 or to add new payees to the table. Similarly, employees can create relationships with payees in the “Payees” table 210 or add new payees to the table.

[0178] “Health Plans” table 220 includes specific information about each health plan which is available to Employers to provide to their employees, including: plan name, health plan carrier ID, and ID of payee to whom payments are made for the benefit. “Health Plans” table 220 includes related “Health Plan Carriers” 221 and “Health Plan Costs” 222 tables. “Health Plan Carriers” table 221 includes the name of each health plan carrier. “Health Plan Costs” table 223 includes: valid covered individuals (e.g., employee, certain dependents), effective date of plan, and rate schedule, including payroll deduction amount for individuals in certain age ranges. The system permits each Employer to associate with each health plan in “Health Plans” table 220 or to add new health plans to the table, including custom health plans. Employers can also use this information to compare health plans.

[0179] “Banks” table 230 includes specific information about each bank at which the system maintains accounts for facilitating electronic payments from Employers to employees, tax authorities, benefit providers, and miscellaneous payees, including: bank name, bank routing number, and account number(s). The system maintains accounts at different banks at which Employers maintain bank accounts, in order to enable intrabank transfers from Employers to the system. Such transfers reduce the risk of late payments, since intrabank transfers are automatic and same day. In addition, intrabank transfers have lower associated fees than alternatives, including “FedWire” debits. “Tax Agencies” table 240 includes specific information about each tax agency to which Employers may transmit payroll taxes, including: name, ID of associated tax authority, and bank routing and account numbers. A tax agency is a specific entity within a tax authority to which separate taxes are paid (e.g., the California Employment Development Department and the Franchise Tax Board are two tax agencies within the California tax authority). “Tax Agencies” table 240 includes related “Tax Authorities” 241, “Tax Forms” 242, “ACH/TXP Definitions” 243, and “EFTPS Definitions” 244 tables. “Tax Authorities” table 241 includes tax authority name and indicators regarding whether registration is required and whether the Employer has a tax identification number with the authority. “Tax Forms” table 242 includes ID of tax authority and name of tax form (paper or electronic) to be filed by an Employer; this information can be used to link to a table that contains electronic versions of the tax forms. “ACH/TXP Definitions” table 243 includes: tax form ID, tax agency ID, and information necessary to execute an electronic ACH+TXP transaction. “EFTPS Definitions” table 244 includes information necessary to execute an EFTPS tax payment with the U.S. Internal Revenue Service. The system permits each Employer to associate with each tax agency in “Tax Agencies” table 240.

[0180] “Tax Calculations” table 250 includes information necessary to calculate each payroll tax included in the system, including: tax name, tax definition ID, effective date, expiration date, calculation steps, and order of steps. The calculation steps correspond to routines in stored procedures and are used to generate optimized, executable SQL statements contained in such stored procedures; the stored procedures actually calculate the taxes. Modifications to the calculations are made via updates to “Tax Calculations” table 250. “Tax Calculations” table 250 includes related “Tax Definitions” 251 and “Tax Lookup Tables” 252 tables. “Tax Definitions” table 251 includes: tax form IDs (for paying and reporting), tax authority ID, name, associated heading to be printed on employee paychecks, and associated information to be printed on Employer-generated W-2 forms. “Tax Lookup Tables” table 252 includes: tax definition ID, effective date, expiration date, minimum and maximum earnings ranges and associated tax rates, and an indicator regarding whether the information was validated.

[0181] “Zip Codes” table 255 contains information used in determining applicable tax authorities, including: city, state, zip code, area code, FIPS code (i.e., a unique numeric identifier assigned to each county by the U.S. government), and county. Each record in “Zip Codes” table 255 has an identifier that could potentially correspond to a different tax authority. For example, the same zip code may include more than one city, each of which assesses a local payroll tax. The “city” and “FIPS” fields are used to distinguish different tax authorities within the same zip code.

[0182] “Holidays” table 260 includes information regarding payroll holidays recognized by Employers, including: ID of Employers (and Employer's offices) recognizing holiday, date, name, indicator regarding whether applicable as paid holiday to salaried and hourly employees, and standard holiday ID. “Holidays” table 260 includes related “Standard Holidays” table 261. “Standard Holidays” table 261 includes information regarding each specific standard holiday (e.g., Memorial Day, Labor Day, etc.), including: name, occurrence within month (e.g., third Monday of month, day of week (i.e., if always the same weekday), date (if fixed), and an indicator regarding whether the holiday is a bank holiday. Each Employer can select which standard holidays apply to each of its offices.

[0183] “Job Classifications” table 270 includes information regarding industry-standard job classifications, including classification name and ID(s) of Employer(s) using a particular job classification. This information can be used to create pay scales based on tenure of an Employer's employees across different job classifications. Further, this information can be used to create salary surveys across different Employers using industry-standard job classifications.

[0184] “Servers” table 280 includes information regarding each computer server that is part of the system, including name and domain. “Servers” table 280 also includes related “Database Servers” 281 and “Web Servers” 282 tables. “Database Servers” table 281 includes information regarding each database server that is part of the system, including server name and TCP port. “Web Servers” table 282 includes information regarding each Internet server that is part of the system, including server name, TCP port, and an indicator regarding whether the server is secure. The system uses the server information to dynamically load balance the system and to move Employers to different servers in order to optimize system performance or to reallocate system resources when failures occur. The information can also be used to manage servers at Employers' sites.

[0185] “Security Groups” table 290 includes information about each system security group used by the system or an Employer to limit access to the system, including ID of the associated Employer and the group name. System users may include Employer administrators, employees, third-party benefit administrators, and benefit payees. For example, an Employer may provide: (i) its employees with authorization to make certain specifications, such as benefit election, direct deposit election, and miscellaneous payee election; and (ii) third-party benefit providers and payees to enter benefit and deduction information. “Security Groups” table 290 includes related “Security Group Members” table 291, which identifies group members.

[0186] “Workflows” table 300 includes information regarding each user interface workflow created by the system or an Employer, including Employer ID and related “Workflow Sequences” table 301. “Wokflow Sequences” table 301 includes information regarding each sequence of user interfaces that comprise a workflow, including: workflow ID, sequence name, numeric sequence controls, option names, and accompanying text.

[0187] “Rules” table 305 includes the many calculation and rules steps that the system uses to perform calculations and generate payroll information. These rules and calculations relate to all aspects of the calculation of overtime, payments, and taxes, as well as reporting and legal compliance. In the present embodiment, the rules are stored in the form of steps that correspond to routines in “stored procedures” and which are used to generate optimized, executable SQL code contained in such stored procedures. Modifications to the calculations are made via updates to “Rules” table 250. Examples of such stored procedures include: calculation of accrued paid-time-off, calculation of imputed income; determination of applicable tax authorities for an Employer's payroll, using a commercially-available zip code database; and determination of which taxes apply to a particular employee as of a particular date, and which tax formulas to execute.

[0188] 2. Employer Level

[0189] The data components at the Employer level include data that is specific to Employers using the system. FIG. 4(b) illustrates the key data components, which are stored as tables in the present embodiment of the invention. As in the system level description, each table includes a keyed identification code or number (“ID”) for each record in the table.

[0190] “Companies” table 310 includes specific information about the Employer, including name, address, zip code ID (corresponding to a sub-region within the zip code), and dates that the Employer began operating and terminated operations (if applicable).

[0191] “Offices” table 320 includes specific information about each of Employer's offices, including office name, address, and zip code ID.

[0192] “Divisions” table 330 includes specific information about each of Employer's divisions, including division name.

[0193] “Departments” table 340 includes specific information about each of Employer's departments, including department name.

[0194] “Employees” table 350 includes specific information about each of Employer's employees, including: name, social security number, address, zip code ID, and contact information.

[0195] “Company Payroll” table 360 includes information regarding Employer's payroll account, including: IDs of included employees and payroll groups, bank name, bank routing and account numbers, and indicators regarding electronic payroll transactions.

[0196] “Payroll Groups” table 370 includes information regarding each Employer-defined payroll group, including: name, start dates of current and next payrolls, pay date of current payroll, date of last payroll, and status indicators regarding whether the current payroll is the first or last payroll of the month. “Payroll Groups” table 370 includes related “Temporary Payroll Groups” table 371, which includes the name and payroll date of any temporary payroll groups created by the Employer to make one-time payments to employees, such as bonuses.

[0197] “Company Health Plans” table 380 includes information regarding each of Employer's health insurance plans, including: benefit ID, policy group number, risk adjustment factor, renewal date, effective date, and expiration date. Such health plans may include standard health plans or health plans with custom rate tables.

[0198] “Benefits” table 390 includes information regarding each of Employer's employee benefit plans, including: deduction code ID, plan name, imputed income indicator, threshold units, imputed income multiplier, ID of payee that provides benefit, and policy group number. Such benefit plans may include standard benefit plans or customized benefit plans, such as plans that combine more than one health insurance plan. “Benefits” table 390 includes related “Benefit Costs” table 291, which includes specific information about each benefit plan, including: benefits ID, effective date, expiration date, and rate information based on the age ranges of covered individuals.

[0199] “Deduction Codes” table 400 includes information regarding payroll deductions available from the Employer's payroll, including the deduction name and ID, as well as related “Deduction Limits” table 401. The deduction codes may be global across multiple Employers or customized for a specific Employer. “Deduction Limits” table 401 includes: effective date, expiration date, and monetary limit of each type of deduction.

[0200] “Earning Codes” table 410 includes information regarding employees' earnings included in Employer's payroll, including: earnings name and ID, tax authority ID, and status indicators regarding whether earnings are to be reported as income and whether earnings accrue paid time off. The earning codes may be global across multiple Employers or customized for a specific Employer. “Earning Codes” table 410 also includes related “Earning Limits” table 411, which includes: effective date, expiration date, and monetary limit of each type of earnings.

[0201] “Paid Time Off” table 420 includes information regarding paid-time-off that may be accrued by employees, including: paid-time-off type (e.g., vacation, sick day), amount taxed as earnings, and a status indicator regarding whether there is payout at termination. “Paid Time Off” table 420 also includes related “PTO Schedules” 421 and “PTO Accrual Rates” 422 tables. “PTO Schedules” table 421 includes information regarding each type of paid time off, including: paid-time-off ID, paid-time-off name, indicators regarding whether paid time off can will be accrued by salaried and/or hourly employees, maximum hours that may be accrued, months employed before paid-time-off benefit begins, months employed before accrual commences, and maximum hours that may be accrued per year. “PTO Accrual Rates” table 422 includes paid-time-off accrual rate information, including: paid-time-off schedule ID and the maximum hours that may be accrued for ranges of employment.

[0202] “Pay Rate Types” table 430 includes information regarding each of Employer's pay rate types (e.g., standard pay, overtime, etc.), including: type, adjustment factor (wage multiplier or increment), and an indicator regarding whether overtime can be earned for the pay rate type.

[0203] “Pay Scales” table 435 includes information regarding each pay scale applicable to the job classifications used by Employer, including: job classification ID, effective date, expiration date, minimum-months-service limit, maximum-months-service limit, and pay scale wage.

[0204] “Company Tax Authorities” table 440 includes information regarding each tax authority to which the Employer pays payroll taxes, including tax authority ID and Employer's tax identification number. The applicable tax authorities are determined based upon the zip code (FIPS) and city of the Employer's (i) offices and (ii) employees and/or contractors.

[0205] “Company Taxes” table 450 includes information regarding each tax to be paid by Employer, including: tax definition ID, tax calculation alternative indicator, filing status indicator, effective date, and expiration date. “Company Taxes” table 450 includes related “Tax Deposits” 451 and “Tax Liabilities” 452 tables. “Tax Deposits” table 451 includes information regarding Employer's tax deposits, including: amount, date due, first date incurred, and last date incurred. “Tax Liabilities” table 452 includes information regarding Employer's tax liabilities, including: tax definition ID, tax deposit ID, date incurred, and amount.

[0206] “Collections/Disbursements” table 460 includes information regarding Employer's collection of funds to be transferred to the system bank accounts and subsequently disbursed to employees, tax authorities, and payees, including: payroll group ID, amount of funds, date liability incurred, date payment due, date disbursement initiated, date disbursement confirmed, and date disbursement reported. The system checks this table several times each day in order to determine whether any electronic transfers need to be effected.

[0207] “Company General Ledger Designations” table 470 includes information regarding the Employer's mapping of deduction and earnings codes to Employer's general ledger naming conventions. For example, using this system, the Employer could map a deduction code (e.g., “Dental Plan”) to the Employer's internal accounting naming convention (e.g., “GL443”). The information contained in “Company General Ledger Designations” table 470 includes: division ID, office ID, department ID, deduction codes ID, earning codes ID, paid-time-off ID, tax definition ID, and general ledger designation.

[0208] “History” tables 480 includes archived information regarding additions, modifications, and deletions of the Employer's data, including the system identifier of the user who made the change, what data was changed, and when the data was changed. These tables, which mirror all of Employer's data tables, enable the system to keep working tables as small as possible, which increases processing speed. Further, these tables provide an archived backup in the event of a security or system failure, or a user entry error.

[0209] 3. Employee Level

[0210] The data components at the employee level include data that is specific to each employee and/or contractor of a company. FIG. 4(c) illustrates the key data components, which are stored as tables in the present embodiment of the invention. As in the system and Employer level descriptions, each table includes a keyed identification code or number (“ID”) for each record in the table.

[0211] “Employees” table 500 (table 350 in FIG. 4(b)) includes specific information about each employee and/or contractor, including: name, social security number, address, and contact information.

[0212] “Employee Benefits” table 510 includes specific information about each benefit plan elected by an employee, including: benefit ID, effective date, expiration date, benefit units, indicator regarding whether benefit is deductible, and indicator regarding whether benefit applies to a domestic partner.

[0213] “Employee Payroll” table 520 includes specific, payroll-related information regarding each employee and/or contractor, including: employee identification number, title, home address, zip code ID, company contact information, division ID, department ID, office ID, payroll group ID, autopay multiplier, payment method, indicator regarding whether paid for holidays, exempt status, default pay rate, birth date, hire date, termination date (if applicable), marital status, and sex.

[0214] “Pay Rates” table 530 includes pay rate information regarding each employee and/or contractor, including: pay rate type ID, pay rate amount, and job classification ID. If job classification ID is used instead of pay rate type ID, then the employee's salary will be derived from “Pay Scales” table 435 instead of “Pay Rate Types” table 430.

[0215] “Earnings” table 540 includes information about each employee's and/or contractor's accumulated pay-period-to-date earnings, including: earning code ID, paid-time-off ID, year, hours worked per each calendar month, and earnings per each calendar month. The system updates these accumulators only when the Employer processes a payroll.

[0216] “Deductions” table 550 includes information about each employee's accumulated pay-period-to-date payroll deductions, including: deduction code ID, tax definition ID, year, and deductions per each calendar month. The system updates these accumulators only when the Employer processes a payroll.

[0217] “Employee PTO Accumulators” table 560 includes information about each employee's and/or contractor's paid time off, including: paid-time-off schedule ID, maximum hours carried, months employed, paid time off accrued year-to-date, paid time off used year-to-date, paid time off carried over from prior years, and the current year. “Employee PTO Accumulators” table 560 also includes related “PTO Current Payroll” table 561. “PTO Current Payroll” table 561 includes information regarding the employee's paid time off during the current payroll, including: paid-time-off ID, payroll group ID, paid time off accrued during current pay period, paid time off used during current pay period, maximum hours per payroll, and maximum hours carried over per payroll. The system uses “PTO Current Payroll” table 561 as a work table that is purged after the payroll is run.

[0218] “Timesheets” table 570 includes information regarding the employee's and/or contractor's timesheets, including: payroll group ID, pay rate type ID, date, hours per day, pay rate override, earning code ID, paid-time-off ID, indicator regarding whether timesheet approved, indicator regarding whether paid time off accrued, and indicator regarding overtime hours.

[0219] “Direct Deposit Elections” table 580 includes information regarding each employee's and/or contractor's selection for electronic direct deposits, including: effective date, bank name, bank routing and account numbers, bank account type, payroll percent deposit amount (if applicable), and payroll deposit amount (if applicable).

[0220] “Paycheck Line Items” table 590 includes information regarding each employee's and/or contractor's paycheck generated by the system, including: payroll group ID, earning code(s) ID(s), paid-time-off ID, deduction code(s) ID(s), tax definitions ID, benefit(s) ID(s), hours, paycheck amount, paid-time-off accrual, and payees ID. Certain of these data items can be entered into the system by the Employer, the employee, or third-party benefit administrators.

[0221] 4. Example of Data Component Interaction

[0222] Each time a system user accesses a particular interface screen, the system executes a series of SQL commands to load data from one or more tables and, if applicable, perform calculations, in order to place data in the various fields of the screen. The first time that the user accesses the particular interface, the system downloads the data and caches the data locally, so that the data will appear instantaneously on a subsequent access of the interface. Note that system saves the data each time that the user exits an interface; thus, if a system error or hardware error occurs, the user will, at most, only lose the data entered on the current interface.

[0223] By way of example, in one embodiment of this invention, the “Show Paycheck” interface screen, as illustrated in FIG. 41(c), accesses a variety of data tables in order to display “Paycheck” table 4500 for the selected employee or contractor for the current payroll.

[0224] For the selected employee (e.g., “Michael A. Greenspan”), who was selected from “Timesheet Summary” table 4420 on the “Show Timesheet” interface screen (as shown in FIG. 40(a)) the system executes an SQL call to retrieve the employee's identification number from “Employee Payroll” table 520. Using the employee's identification number as a keyed index, the system retrieves the employee's standard pay rate (e.g., $193.23) from “Pay Rates” table 530 (or “Pay Scales” table 435 if job classification used). Next, using the employee's identification number as a keyed index, the system retrieves the employee's hours per day for the current pay period for each earnings type (e.g., “Regular”) from “Timesheets” table 570. The system totals the hours and calculates the amount earned (e.g., $6,084.60) by multiplying the total hours and employee's pay rate, in order to fill in the “Amount” field. If the employee had earnings of other types (e.g., overtime) during this pay period, the system would calculate and/or retrieve those hours and relevant pay rate type(s) from “Timesheets” table 570 and “Pay Rates” table 530 (or “Pay Scales” table 435 if job classification used), respectively, using a common pay-rate-type keyed index. When the Employer instructs the system to process the particular payroll, the system execute a SQL command to update “Earnings” table 540 with the employee's calculated earnings, using the employee's identification number as a keyed index.

[0225] The system next calculates the employee's deductions. The system retrieves deduction codes and deduction names available from the Employer from “Deduction Codes” table 400. Using the employee's identification number as a keyed index, the system determines the employee's applicable deductions from “Deductions” table 550, calculates the deductions for this payroll, which are displayed on the screen, and, when the Employer instructs the system to process the particular payroll, updates the employee's records in “Deductions” table 550. After deducting any pre-tax deductions from the employee's earnings, the system calculates the employee's taxes, based on the applicable taxes in “Company Taxes” table 450, using calculation formulas stored in “Tax Calculations” table 250, and also determines the employee's net earnings. When the Employer instructs the system to process the particular payroll, the system updates the employee's records in “Paycheck Line Items” table 590.

[0226] After the system processes the particular payroll, the system immediately calculates the employee's standard timesheet for the next pay period (as well as the standard timesheets of other employees within the same payroll group), which will be available for download for offline update.

[0227] A Web-Based Embodiment of the Invention

[0228] When a user accesses the web-based embodiment of the invention described herein, the system presents the user with a security login interface that requires entry of the Employer's identification number, login number, and password, as shown in FIG. 5. The “Help” button that appears on this interface (and other system user interfaces) leads the user to a comprehensive, context-dependent interactive system assistance utility.

[0229] It should be noted that, in one embodiment of the present invention, many of the user interface controls and display/formatting/report generation functionality are implemented as ActiveX controls, downloaded to the user's local system in advance or as needed to perform a particular function. Such functionality could be implemented entirely on the local system's application server, though certain client server tradeoffs enhance the user's experience, e.g., enabling the user to quickly select items from a list by retrieving the relevant list items from the server-side database (where they are stored persistently) and downloading them for temporary storage (in a local cache) and use by an ActiveX control that is accessible to users of the system.

[0230] The system next presents the user with an interactive user interface, as shown in FIG. 6. The interface provides the user with a number of navigational options related to the Employer's payroll, as shown in navigation bar 3000 in FIG. 6, which include the following:

[0231] input and modify information about the Employer;

[0232] input and modify information about employees;

[0233] input and modify information about contractors; and

[0234] process the payroll.

[0235] Each of these options will be described separately below.

[0236] Company Information

[0237] The company information functionality of the system provides the user with the ability to input and modify information about the Employer, including general corporate information, paid time off schedules, employee benefit plans, tax information, payroll information, payee information, and corporate holiday schedules. This option is selectable by clicking on “Company Information” in navigation bar 3000 in FIG. 6. As shown in navigation bar 3100 in FIG. 6, the system presents the user with a series of six sub-options to choose from within the “Company Information” option.

[0238] 1. General Information

[0239] This function is divided into five user interfaces, each of which is selectable from navigation bar 3100 in FIG. 6 by clicking on “General Information,” which causes the interface names in sub-menu 3200 of FIG. 6(a) to be displayed.

[0240] a. Address

[0241] The “Address” interface, illustrated by FIG. 6(a), enables input and modification of the Employer's legal address, including street address, city, state, county, and zip code. The user need only input street address and zip code, and the system generates the city, state, and county based on a zip code database. If one zip code applies to multiple cities, the system lists each of the cities in a pull-down menu, in order to enable the user to choose the correct city.

[0242] The system uses a commercially-available zip code database (“Zip Codes” table 255) to determine tax authorities that are applicable to the Employer's payroll, including federal, state, and local taxes. The system creates a list of relevant tax authorities based on the geographic locations of the Employer's offices.

[0243] b. Offices

[0244] The “Offices” interface, illustrated by FIG. 7(a), enables the Employer to add or delete one or more offices and office addresses. For example, as shown in FIG. 7(a), the Employer defined two offices and selected the “Second Office,” which is highlighted in “Offices” field 3300 with its address displayed on the interface. The user can add an office by clicking “Add” button 3305 or delete an office by selecting the office name and clicking “Delete” button 3310.

[0245] The system also enables the Employer to assign or reassign employees to a particular office by clicking “Assign Employees” button 3315. If the user clicks “Assign Employees” button 3315 the system displays the “Assign Employees to Offices” interface shown in FIG. 8(a). This interface displays the names of the employees already assigned to Employer's “Second Office” (which was highlighted in FIG. 7(a)), as well as the name, employee number, office, division, and department of other employees. By clicking on box(es) 3380 adjacent to one or more listed employees or on “Check All” box 3385 and then clicking “Add Checked” button 3390, the user can assign or reassign one or more employees to the “Second Office.”

[0246] When an employee is reassigned to an office, the system automatically removes the employee from his previous office. Clicking “OK” button 3400 upon completion of assignment and/or reassignment of employees causes the system to save the modified information.

[0247] The user can change the displayed selection of employees on the “Assign Employees to Office” interface by clicking “Select Employees” button 3395. That action causes the system to display the “Select Employees” interface shown in FIG. 8(d). The “Select Employees” interface enables the user to limit the employee names displayed for assignment or reassignment to the selected office(s), division(s), and/or department(s). For example, in FIG. 8(d), the user chose to limit the displayed employees to those that work in the “Main Office” and “Disk Drives” division. Clicking “OK” button 3465 upon completion of selection of employees causes the system to save the selection criteria.

[0248] The user can refresh the information displayed on the “Offices” interface by clicking “Refresh” button 3320, as shown in FIG. 7(a).

[0249] C. Divisions

[0250] The “Divisions” interface, illustrated by FIG. 7(b), enables the Employer to add or delete one or more divisions within the Employer's corporate organization. For example, as shown in FIG. 7(b), the Employer defined two divisions (“Disk Drives,” “Monitors”) which are listed in “Divisions” field 3325. The user can add a division by clicking “Add” button 3335 or delete a division by selecting the division name and clicking “Delete” button 3340.

[0251] The system also enables the Employer to assign or reassign employees to a particular division by clicking “Assign Employees” button 3345. If the user clicks “Assign Employees” button 3345 the system displays the “Assign Employees to Divisions” interface shown in FIG. 8(b). This interface displays the names of the employees already assigned to Employer's “Disk Drives” division (which was highlighted in FIG. 7(b)), as well as the name, employee number, office, division, and department of other employees. By clicking on box(es) 3405 adjacent to one or more listed employees or on “Check All” box 3410 and then clicking “Add Checked” button 3415, the user can assign or reassign one or more employees to the “Disk Drives” division. The user can also remove one or more employees from the “Disk Drives” division by clicking on box(es) 3405 adjacent to one or more listed employees or on “Check All” box 3410 and then clicking “Remove” button 3420. Clicking “OK” button 3430 upon completion of assignment and/or reassignment of employees will save the modified information.

[0252] The user can change the displayed selection of employees on the “Assign Employees to Divisions” interface by clicking “Select Employees” button 3425. As described above with respect to the “Assign Employees to Offices” interface, as shown in FIG. 8(a), that action causes the system to display the previously-described “Select Employees” interface shown in FIG. 8(d).

[0253] The user can refresh the information displayed on the “Divisions” interface by clicking “Refresh” button 3350, as shown in FIG. 7(b).

[0254] d. Departments

[0255] The “Departments” interface, illustrated by FIG. 7(c), enables the Employer to add or delete one or more departments within the Employer's corporate organization. For example, as shown in FIG. 7(c), the Employer defined one department (“Administration”) which is listed in “Departments” field 3355. The user can add a department by clicking “Add” button 3360 or delete a department by selecting the department name and clicking “Delete” button 3365.

[0256] The system also enables the Employer to assign or reassign employees to a particular department by clicking “Assign Employees” button 3370. If the user clicks “Assign Employees” button 3370 the system displays the “Assign Employees to Departments” interface shown in FIG. 8(c). This interface displays the names of the employees already assigned to Employer's “Administration” department (which was highlighted in FIG. 7(c))—in this case no employees, as well as the name, employee number, office, division, and department of other employees. By clicking on box(es) 3435 adjacent to one or more listed employees or on “Check All” box 3440 and then clicking “Add Checked” button 3445, the user can assign or reassign one or more employees to the “Administration” department. The user can also remove one or more employees from the “Administration” department by clicking on box(es) 3435 adjacent to one or more listed employees or on “Check All” box 3440 and then clicking “Remove” button 3450. Clicking “OK” button 3460 upon completion of assignment and/or reassignment of employees causes the system to save the modified information.

[0257] The user can change the displayed selection of employees on the “Assign Employees to Departments” interface by clicking “Select Employees” button 3455. As described above with respect to the “Assign Employees to Offices” interface, as shown in FIG. 8(a), that action causes the system to display the previously-described “Select Employees” interface shown in FIG. 8(d).

[0258] The user can refresh the information displayed on the “Departments” interface by clicking “Refresh” button 3375, as shown in FIG. 7(c).

[0259] e. Bank Information

[0260] The “Bank Information” interface, illustrated by FIG. 9, enables the Employer to input and modify the bank name, routing number, and account number for the bank account from which Employer's payroll will be finded, and the payroll funding method (selectable from pulldown menu 3470). The system validates the routing number by performing a checksum. The user can refresh the information displayed on this interface by clicking “Refresh” button 3475.

[0261] 2. Paid Time Off

[0262] This function is divided into two user interfaces, each of which is selectable from navigation bar 3100 in FIG. 6 by clicking on “Paid Time Off,” which causes the interface names in sub-menu 3480 of FIG. 10 to be displayed.

[0263] a. Paid Time Off and Schedules

[0264] The “Paid Time Off and Schedules” interface, illustrated by FIG. 10, enables input, modification and testing of Employer-defined, paid-time-off payment schedules, such as sick time and vacation time. Thus, the system provides the Employer with the flexibility to create, test, and change paid-time-off plans, including their accrual rates and parameters. As shown in FIG. 10, the system displays all defined paid-time-off plans and schedules in selectable list 3485. By clicking indicator box 3490, the user can specify that the accrued amount of the selected paid-time-off benefit will be payable to an employee at termination. Clicking on a schedule name causes the system to display the details regarding a particular schedule.

[0265] For example, as shown in FIG. 10(a), the selected paid-time-off schedule “Sick” (i.e., paid sick time) includes the following modifiable parameters: daily accrual method for salaried and hourly employees (which can be changed to other methods using pull-down menu 3515), zero maximum carry-over hours per year, paid time off available six months after start of employment, paid-time-off accrual begins at start of employment, maximum paid time off of 40 hours per paycheck, and accrual is adjusted when accrual rate is increased. The “Accrual Rates Table” field 3520 enables the user to specify the accrual rate for the selected schedule. For example, in FIG. 10(a), the “Sick” schedule provides for 40 hours paid-time-off accrual per year for 1 to 1200 months of employment. Any row of “Accrual Rates Table” field 3520 can be removed by selecting the row and clicking “Delete” button 3535.

[0266] Clicking “Accrual Rates Wizard” button 3525 causes the system to display the “Paid Time Off Accrual” calculator interface, as shown in FIG. 10(b). This interface enables the user to specify parameters that the system uses to calculate and fill in “Accrual Rates Table” field 3520 of FIG. 10(a), as an alternative to having the user fill in that field. Thus, the user can test different values in order to see the impact of the values on the “Accrual Rates Table.” Clicking “OK” button 3540 of FIG. 10(b) upon completion of rate calculation causes the system to save the modified information.

[0267] Returning to the “Paid Time Off and Schedules” interface, as shown in FIG. 10(a), clicking “Test Table” button 3530 causes the system to display the “Test Paid Time Off Accrual” interface, as shown in FIG. 10(c). This interface enables the user to test “Accrual Rates Table” field 3520 for a particular employee by calculating and displaying the employee's annual paid-time-off accrual rate, based on the number of months the employee has been employed. Inputting the number of months of employment and clicking “Check Accrual Rate” button 3542 causes the system to calculate and display the accrual rate. Clicking “Close” button 3544 causes the system to return the user to the “Paid Time Off and Schedules” interface shown in FIG. 10(a).

[0268] Returning to the “Paid Time Off and Schedules” interface, as shown in FIG. 10, clicking “Add PTO” button 3495 causes the system to display a new paid-time-off plan in the selectable list, the name of which can be revised by the user. Clicking “Add Schedule” button 3500 causes the system to create a new schedule to be created under the selected paid-time-off plan and present the user with the detail fields regarding the particular schedule, as shown in FIG. 10(a) and described above. Clicking “Delete” button 3505 causes the selected plan or schedule to be removed. Finally, the user can refresh the information displayed on this interface by clicking “Refresh” button 3510.

[0269] b. Paid-Time-Off Accrual

[0270] The paid-time-off accruals interface, which is selectable from sub-menu 3480 in FIG. 10, enables the Employer to specify whether employees can accrue paid time off for particular earnings types (e.g., regular, sick days, vacation, holidays, personal time, etc.), when the payroll is calculated. Note that the Employer is required by law to provide accrued paid time off to employees for certain earnings types; for such earnings types, the system enforces compliance rules. As shown in FIG. 11, the user clicks the “Accrues PTO” field 3560 adjacent to a particular earnings type to activate (or deactivate) this indicator. The user can refresh the information displayed on this interface by clicking “Refresh” button 3565.

[0271] 3. Benefit Policies

[0272] This function is divided into four user interfaces, each of which is selectable from navigation bar 3100 in FIG. 6 by clicking on “Benefit Policies,” which causes the interface names in sub-menu 3570 of FIG. 12(a) to be displayed.

[0273] a. Benefits

[0274] The “Benefits” interface, illustrated by FIG. 12(a), enables input and modification of employee benefit plans, such as standard health and dental insurance plans, custom health insurance plans, and term life insurance. Thus, the system provides the Employer with the flexibility to create and change employee benefit plans, while viewing online the potential impact of such modifications on the Employer's payroll. This information is used to calculate pre-tax and post-tax deductions, as performed in steps 1030 and 1060, respectively, in FIG. 2.

[0275] The system displays all defined benefit plans, including custom plans, in a selectable list in the “Benefits” field 3575. Clicking on a plan name causes the system to display details regarding that plan. For example, as shown in FIG. 12(a), the selected “Health & Dental” benefit plan is a “Custom Health Plan” with an Employer deduction code of “Medical (EMPLOYER)” (selected from a pull-down menu) and a payroll deduction frequency of “First Payroll of Month.” The latter “When Deducted” field 3580 includes a pull-down menu that enables the user to select the payroll frequency (e.g., “Every Payroll,” “First Payroll of Month,” “Last Payroll of Month,” “Payroll Prior to When Payment Due”). The “Monthly Cost Table” field 3585 displays the effective date, expiration date, and, if applicable, payee (i.e., third-party provider if not Employer) of the custom health plan. Because the “Additional Cost View” indicator 3590 is set, the “Monthly Cost Table” field 3585 also displays the payroll deduction amount, based on the employee's age, for the employee and for adding additional dependents (e.g., “Spouse,” “Children,” “Family”). In FIG. 12(b), the “Total Cost View” indicator 3595 is set for the same “Monthly Cost Table”; thus, the table displays the total payroll deduction amount, based on the employee's age, for the employee and added dependents. The user can delete the information contained in the “Monthly Cost Table” field 3585 by clicking “Clear Table” button 3600 in FIG. 12(a).

[0276] The user can add a benefit plan by clicking “Add” button 3605. That action causes the system to display the “Select Benefit Type” interface, shown in FIG. 12(d). The “Select Benefit Type” interface enables the Employer to input or review information about a new benefit plan that is a standard, custom, or other insurance plan. The interface displays standard plans of third-party providers that make their products available to users of the system (e.g., “Blue Shield of California”). Clicking “Next” button 3609 causes the system to guide the user through a series of screens on which the system displays information (including benefit name, deduction code, benefit premiums, etc.) regarding standard plans or the Employer can enter information regarding custom plans. In an embodiment of this invention, this interface also provides competitive rate quote information regarding similar insurance plans gathered via an Internet information census or input by authorized third-party benefit providers. Rate information regarding standard plans can make use of employee zip code information, in addition to other factors described earlier, to determine benefit rates.

[0277] Clicking “Back” button 3607 causes the system to return the user to the previous-accessed screen.

[0278] Returning to the “Benefits” interface, as shown in FIG. 12(a), the Employer can delete a benefit plan by selecting the benefit plan name and clicking “Delete” button 3610. The user can refresh the information displayed on this interface by clicking “Refresh” button 3615.

[0279] In FIG. 12(c), the “Benefits” interface is shown for the selected “Term Life Insurance” benefit plan, which is an “Other” plan with an Employer deduction code of “Term Life Insurance (EMPLOYER)” and a payroll deduction frequency of “Last Payroll of Month” (selected from pull-down menu of “When Deducted” field 3580 in FIG. 12(a)). In this instance, the “Monthly Cost Table” field 3585 displays the effective date, expiration date, and payroll deduction amount per unit of life insurance, based on the employee's age. The “Monthly Cost Table” also displays the name of the life insurance provider (e.g., “Prudential Life Assurance Co.”) in “Payee” field 3620, which is selected from a pull-down menu of payees. There is also an indicator that specifies whether the particular benefit plan is to be treated as imputed income of employees (“Imputed Income” indicator 3625), and a field that shows the maximum number of units of the insurance benefit included in the plan, for which the benefit will not be treated as imputed income (e.g., term life insurance is typically sold in $10,000-units and income will be imputed for any more than five units paid for by the Employer).

[0280] Clicking “Payees” button 3630 causes the system to display the “Payees” interface, shown in FIG. 13. The “Payees” interface displays the following information for each benefits provider or other payee of payroll deductions: name; payment method (e.g., check or direct deposit); Employer's account number with payee (“Payer Information” field); payee type (i.e., the type of information needed by the provider, for example, “Term Life Insurance”), which is selected from pull-down menu 3635; bank routing and account numbers; and the payee's address. The Employer can add a payee by clicking “Add” button 3640 or delete a payee by selecting the payee name and clicking “Delete” button 3645. Clicking “OK” button 3650 upon exiting the “Payees” interface causes the system to save the modified information.

[0281] b. Employee Sharing

[0282] The “Employee Sharing” interface, illustrated by FIG. 14(a), enables input and modification of benefits for which payroll deductions are shared between the Employer and the employee. Using the interface, the Employer specifies how much of the total expense will be shared by the employee. For example, an Employer may provide a health insurance plan to an employee and his family, whereby the Employer pays 50 percent and the employee pays 50 percent of the health insurance premium. The system provides the Employer with the flexibility to add and modify shared deductions, while viewing online the impact of such modifications. This information is used to calculate shared deductions, as performed in step 1040 in FIG. 2.

[0283] The system displays all employee-shared deductions in a selectable list in the “Employee Sharing” field 3655. Clicking on a deduction name causes the system to display the details regarding a particular shared deduction. As shown in FIG. 14(a), each deduction is associated with a benefit type (e.g., “Term Life Insurance,” “Health & Dental”), which can be selected from pull-down menu 3660. Each deduction also includes an indicator regarding whether the Employer “pays employee share only” or “uses a sharing formula” regarding the deduction. In the example shown in FIG. 14(a), the “Pays Employee Share Only” indicator 3665 is checked, which means that for the selected benefit, the Employer will pay all of the employee's portion of the benefit, only, but not any of the portion for the employee's dependents. The Employer can add a shared deduction by clicking “Add” button 3670 or delete a shared deduction by selecting the deduction name and clicking “Delete” button 3675. The user can refresh the information displayed on this interface by clicking “Refresh” button 3680.

[0284] In FIG. 14(b), the “Uses Sharing Formula” indicator 3685 is checked. This means that the Employer will pay some or all of the employee's and employee's dependents' portions of the benefit, such portions to be determined by an Employer-defined sharing formula. Indicator 3685 includes a pull-down menu from which the type of sharing formula (e.g., “Custom Table,” “Fixed Amount,” Flat Rate,” “Flat Rate With Limit”) can be selected. The system displays different information for a shared deduction depending upon the type of sharing formula.

[0285] In FIG. 14(b), the “Sharing Formula” is a “Custom Table.” In the “Employee Share Rate Table” field 3690, the system displays effective date, expiration date, minimum input amount, maximum input amount, employee share, and marginal rate of the Employer-defined sharing formula (i.e., Employer shares for employee, only, or shares for employee and family/domestic partner). The user can delete the information contained in the “Employee Share Rate Table” field 3690 by clicking “Clear Table” button 3695.

[0286] In FIG. 14(c), the “Sharing Formula” 3685 is a “Fixed Amount,” i.e., the employee's shared deduction is a fixed dollar amount each payroll. The system displays the effective date, expiration date, and fixed amount of the payroll deduction.

[0287] In FIG. 14(d), the “Sharing Formula” 3685 is a “Flat Rate,” i.e., the employee's shared deduction is a set percentage of the total deduction each payroll. The system displays the effective date, expiration date, and percent of payroll deduction.

[0288] In FIG. 14(e), the “Sharing Formula” 3685 is a “Flat Rate With Limit,” i.e., the employee's shared deduction is a set percentage of the total deduction each payroll up to a dollar limit. The system displays the effective date, expiration date, percent of payroll deduction, and limit of payroll deduction.

[0289] Note that employee sharing can be dependent upon a particular employee's status, e.g., division, department, union member, management, etc.

[0290] c. Employer Matching

[0291] The “Employer Matching” interface, illustrated by FIG. 15(a), enables input and modification of benefits for which employee payroll deductions are matched by the Employer. Using the interface, the Employer specifies how much of the employee deduction it will match. Examples of such matched deductions include Employer contributions to an employee 401(k) retirement plan and to employees' medical savings accounts. This information is used to calculate matching deductions, as performed in step 1040 in FIG. 2.

[0292] The system displays all Employer matched deductions in a selectable list in the “Employer Matching” field 3700. Clicking on a deduction name causes the system to display the details regarding a particular matching deduction. As shown in FIG. 15(a), each deduction is associated with an employee-deduction type (e.g., “401(k) Above Annual Limit”), that can be selected from pull-down menu 3705. The Employer can add a matching deduction by clicking “Add” button 3710 or delete a matching deduction by selecting the deduction name and clicking “Delete” button 3715. The user can refresh the information displayed on this interface by clicking “Refresh” button 3720.

[0293] Each matching deduction is also associated with a “Matching Formula,” and the interface includes a pull-down menu 3725 from which the type of matching formula (e.g., “Custom Table,” “Fixed Amount,” Flat Rate,” “Flat Rate With Limit”) can be selected. The system displays different information for a matching deduction depending upon the type of matching formula.

[0294] In FIG. 15(a), the “Matching Formula” is a “Custom Table.” In the “Employer Matching Rate Table” field 3730, the system displays effective date, expiration date, minimum input amount, maximum input amount, Employer share, and multiplier of the Employer-defined matching formula. The user can delete the information contained in the “Employer Matching Rate Table” field 3730 by clicking “Clear Table” button 3735.

[0295] In FIG. 15(b), the “Matching Formula” 3725 is a “Fixed Amount,” i.e., the Employer's matching deduction is a fixed dollar amount each payroll. The system displays the effective date, expiration date, and fixed amount of the payroll deduction.

[0296] In FIG. 15(c), the “Matching Formula” 3725 is a “Flat Rate,” i.e., the Employer's matching deduction is a set percentage of the employee's total deduction each payroll. The system displays the effective date, expiration date, and percent of payroll deduction.

[0297] In FIG. 15(d), the “Matching Formula” 3725 is a “Flat Rate With Limit,” i.e., the Employer's matching deduction is a set percentage of the employee's total deduction each payroll up to a dollar limit. The system displays the effective date, expiration date, percent of payroll deduction, and limit of payroll deduction.

[0298] Note that employer matching can be dependent upon a particular employee's status, e.g., division, department, union member, management, etc.

[0299] d. Options

[0300] The “Options” interface, illustrated by FIG. 15(e), enables input and modification of Employer-provided, tax-deductible benefit plans in which employees can choose to sum their pre-tax deductions. The system displays all tax-deductible benefit plans (e.g., “Cafeteria Plan,” “Medical Savings Account”) in a selectable list in the “Deductible Benefit Plan” field 3740. The selected plan is the plan that will be made available to employees. The system accounts for the employees' year-to-date contributions, as well as any applicable matching contributions from the Employer, and ensures that disbursements are limited to any applicable annual limits for which legal compliance by the Employer is required. The user can refresh the information displayed on this interface by clicking “Refresh” button 3745.

[0301] 4. Tax Information

[0302] Referring again to navigation bar 3100 in FIG. 6, the next sub-option within the “Company Information” option is the “Tax Information” function. This function displays tax authorities applicable to the Employer's payroll, as determined by the system based on the city and zip code of each of Employer's offices. New information regarding tax authorities is automatically updated by the system when such amendments are received and the system stores the updated information in tax authorities data 80. For example, if the Employer adds an office in a state in which Employer is not presently located, the system automatically updates Employer's tax information with the taxes applicable to the new location. If a tax authority requires Employer-specific information, for example, the unemployment insurance rate, the system automatically requests such information. This information is used to calculate payroll taxes, as performed in step 1050 in FIG. 2, and generate tax disbursement information, as performed in step 1130 in FIG. 3.

[0303] The “Tax Authorities and Taxes” interface, illustrated by FIG. 16, displays the applicable tax authorities organized by geographic region (e.g., United States, California) in a selectable list in the “Tax Authorities and Taxes” field 3755. Specific taxes are listed under each region. Clicking on a specific tax authority causes the system to request input of the Employer's tax identification number with that authority (e.g., “11111111” in FIG. 16). Clicking on a specific tax name causes the system to display details regarding that tax.

[0304] For example, as shown in FIG. 16(a), the user selected the federal unemployment tax (“FUTA (EMPLOYER)”) tax and the system displayed the tax definition period, tax alternative, and filing status. The user can delete a particular tax period by selecting the tax period from a pull-down menu and clicking “Delete Period” button 3760. Clicking “Change Alternative” button 3765 causes the system to display the “Tax Alternative” interface, shown in FIG. 17. The “Tax Alternative” interface allows the user to specify a new tax alternative for the selected tax, which is selectable from pull-down menu 3785. Clicking “OK” button 3790 upon exiting the “Tax Alternative” interface causes the system to save the modified information.

[0305] In FIG. 16(b), the user selected the California unemployment tax (“CA UNEMPLOYMENT (EMPLOYER)”) and the system displayed the tax definition period, tax alternative, and “Tax Table” field 3770, which includes the effective date, expiration date, tax rate, and dollar limit for calculating the tax. Clicking “Clear Tax Table” button 3775 causes the system to clear the displayed information in “Tax Table” field 3770. The user can refresh the information displayed on this interface by clicking “Refresh” button 3780.

[0306] 5. Payroll Information

[0307] This function is divided into four user interfaces, each of which is selectable from navigation bar 3100 in FIG. 6 by clicking on “Payroll Information,” which causes the interface names in sub-menu 3795 of FIG. 18(a) to be displayed.

[0308] a. Payroll Groups

[0309] The “Payroll Groups” interface, illustrated by FIG. 18(a), enables input and modification of Employer-defined payroll groups. Payroll groups allow the Employer to process separate payrolls, for example, separate payrolls for employees in different offices or divisions or a temporary payroll on a specific date.

[0310] The system displays all defined payroll groups in a selectable list in the “Payroll Groups” field 3800. Clicking on a payroll group name causes the system to display details regarding that plan. For example, as shown in FIG. 18(a), the selected “DEFAULT” payroll group is a “permanent” group (as specified by indicator field 3805), has a “monthly” pay cycle (as selected from “Pay Cycle” pull-down menu 3810), and has a current payroll that begins on Aug. 22, 1999.

[0311] The system also enables the Employer to assign or reassign employees to a particular payroll group by selecting a group name in “Payroll Groups” field 3800 and clicking “Assign Employees” button 3825. That action causes the system to display the “Assign Employees to Payroll Groups” interface shown in FIG. 19. This interface displays the names of the employees already assigned to the “DEFAULT” payroll group (which was highlighted in FIG. 18(a)), as well as the name and employee number of other employees. By clicking on the box(es) 3850 adjacent to one or more listed employees or on “Check All” box 3855 and then clicking “Add Checked” button 3860, the user can assign or reassign one or more employees to the “DEFAULT” payroll group. By selecting one of the employee names listed in the payroll group and clicking “Remove” button 3865, the user can remove an employee from the “DEFAULT” payroll group. Clicking “OK” button 3875 upon completion of assignment and/or reassignment of employees causes the system to save the modified information.

[0312] The user can change the displayed selection of employees on the “Assign Employees to Payroll Groups” interface by clicking “Select Employees” button 3870. That action causes the system to display the previously-described “Select Employees” interface shown in FIG. 8(d). The “Select Employees” interface enables the user to limit the employee names displayed for assignment or reassignment to the selected office(s), division(s), and/or department(s). For example, in FIG. 8(d), the user chose to limit the displayed employees to those that work in the “Main Office” and “Disk Drives” division.

[0313] If the selected payroll group (e.g., “Bi-Weekly Payroll”) has a “weekly” or “bi-weekly” pay cycle (as selected from “Pay Cycle” pull-down menu 3835), as shown in FIG. 18(b), the user can specify an “autopay schedule” by clicking “Autopay Schedule” button 3840. Note that the system provides warning messages for (and may not permit) payroll cycles that are not allowed by the relevant tax authorities, e.g., monthly payroll cycles in California. An “autopay schedule” includes a specified number of hours per workday and can be used for an employee with a fixed working schedule, i.e., an employee who works the same number of hours each pay period, so that a timesheet need not be entered for that employee. Clicking “Autopay Schedule” button 3840 causes the system to display the “Autopay Schedule” interface, shown in FIG. 20. On this interface, the Employer can define an “autopay schedule,” including the days of the workweek and how many hours the employee works per day, and can specify whether the schedule will be a default schedule. The system automatically applies overtime rules for certain autopay schedules (e.g., certain bi-weekly pay cycles). Clicking “OK” button 3880 upon completion of defining the “autopay schedule” causes the system to save the modified information.

[0314] As shown in FIG. 18(c), the selected “Test Temp Group” payroll group is a “temporary” group (as specified by indicator field 3845) and has a current pay date of Apr. 1, 1999. “Temporary” payroll groups can be used by the Employer to make one-time payments to employees, such as bonuses.

[0315] The Employer can add a payroll group by clicking “Add” button 3815 or delete a payroll group by selecting the group name and clicking “Delete” button 3820, as shown in FIG. 18(a). The user can refresh the information displayed on this interface by clicking “Refresh” button 3830.

[0316] b. Pay Rate Types

[0317] The “Pay Rate Types” interface, illustrated by FIG. 21(a), is selectable from sub-menu 3885 and enables input and modification of Employer-defined pay rate types. Such pay rate types may include: calculated overtime, double time, non-overtime, standard, time-and-a-half, and unpaid time, or Employer-defined rates, e.g., for high risk jobs. This information is used to calculate employees' income, as performed in step 1010 in FIG. 2.

[0318] The system displays all pay rate types in a selectable list in “Pay Rate Types” field 3890. Clicking on a pay rate type causes the system to display details regarding that rate type. For example, as shown in FIG. 21(a), the selected “Calculated Overtime” rate type adjusts the standard pay rate with a multiplier of 0.50 (as shown in “Multiplier” field 3895); the system allows the Employer to modify the multiplier in this field where permitted by law. Indicators on this interface show that for this pay rate the system will enforce automatic overtime calculation (which can be disabled) and that work at this pay rate is not eligible for additional overtime calculation.

[0319] As shown in FIG. 21(b), the selected “High Risk Job” rate type adjusts the standard pay rate by adding an increment of $10.00 to the hourly pay rate (as shown in “Increment” field 3915); the Employer can modify the increment in this field. Indicators on this interface show that for this pay rate the system will enforce automatic overtime calculation (which can be disabled) and that work at this pay rate is eligible for additional overtime calculation.

[0320] The Employer can add a pay rate type by clicking “Add” button 3900 or delete a pay rate type by selecting the rate type and clicking “Delete” button 3905, as shown in FIG. 21(a). The user can refresh the information displayed on this interface by clicking “Refresh” button 3910.

[0321] Note that the system enables Employers to use pay rate types for purposes of “job costing,” i.e., tracking the internal cost of certain types of work.

[0322] C. Job Classifications

[0323] The “Job Classifications” interface, illustrated by FIG. 22, is selectable from sub-menu 3920 and enables input and modification of Employer-defined pay scales for particular job classifications. The job classifications may be standard industry classifications or Employer-defined classifications. In an embodiment of this invention, pay scales for particular job classifications across an industry can be aggregated from multiple Employers that use the system, in order to create comparative salary survey data that shows typical salaries for particular-jobs.

[0324] As shown in FIG. 22, the system displays standard industries in “Industries” pull-down menu 3925. When the user selects a particular industry, for example “Engineering Services,” the system displays the standard job classifications within that industry in a selectable list in “Job Classifications” field 3930. The system also displays any custom job classifications defined by the particular Employer within that industry. Selecting a particular job classification, for example “Junior Engineer” (denoted by the arrow adjacent to the classification), causes the system to display the Employer-defined pay scale for that classification, including: effective date, expiration date, and pay rate scheduled across periods of service (e.g., 0-12 mos. $110/hour; 13-1200 mos. =$220/hour).

[0325] The Employer can delete a job classification by selecting the classification and clicking “Delete” button 3935. The user can refresh the information displayed on this interface by clicking “Refresh” button 3940.

[0326] d. Holidays

[0327] The “Holidays” interface, illustrated by FIG. 23, is selectable from sub-menu 3945 and displays and enables modification of the Employer's holiday schedule, including custom scheduling of holidays by office, for example if certain holidays are applicable only to certain of Employer's offices. For the time period specified in the pull-down menu of “Period” field 3950, (e.g., next 12 months, past 12 months, “All”), the system displays each holiday recognized by Employer. Depending upon the user's selection of status indicator 3955, the system displays all holidays, standard holidays, or custom holidays. The information displayed for each holiday includes the following: holiday name, applicable Employer offices (or “All”), an indicator regarding whether salaried employees are paid for the holiday, an indicator regarding whether hourly employees are paid for the holiday, the date of the holiday, and the weekday of the holiday. The user can change the value of the indicators regarding salaried and hourly employees.

[0328] Clicking “Import Holidays” button 3955 enables the user to import additional holidays from the standard holidays data 100. The system displays the “Standard Holidays” interface, as shown in FIG. 23(a). This interface displays a list of all standard holidays in “Holiday” field 3970. By clicking one or more of the boxes adjacent to the holiday names and clicking “Add Checked” button 3975, the user can select the additional holidays to import, which are displayed on the interface. The user can then modify any of the fields associated with the selected holiday, including applicable office (or “All”) and indicators regarding salaried and hourly employees. For example, an Employer could change the “Independence Day” holiday (July 4) to the weekday nearest that date. The user can remove a holiday from the selected list by clicking a box adjacent to a holiday name and clicking “Remove” button 3980. Clicking “OK” button 13985 causes the system to add the selected holiday to the list displayed on the “Holidays” interface shown in FIG. 23.

[0329] The Employer can delete a holiday by selecting the holiday name and clicking “Delete” button 3960, as shown in FIG. 23. The user can refresh the information displayed on this interface by clicking “Refresh” button 3965.

[0330] 6. Other Information

[0331] This function is divided into three user interfaces, each of which is selectable from navigation bar 3100 in FIG. 6 by clicking on “Other Information,” which causes the interface names in sub-menu 3990 of FIG. 24(a) to be displayed.

[0332] a. Payees

[0333] The “Payees” interface, illustrated by FIG. 24(a), enables input and modification of payees to whom payments will be made from payroll deductions. These payees are included in payees data 70. This functionality provides the system with the flexibility of supporting employees' periodic payroll deductions to third-party payees who are not benefit providers, a feature that is not included in traditional payroll systems and services. This information is used to generate payroll disbursement information and disburse funds to miscellaneous payees, as performed in steps 1110 and 1140, respectively, in FIG. 2.

[0334] The system displays all payee names in a selectable list in the “Payees” field 3995. Clicking on a payee name causes the system to display details regarding that payee. For example, as shown in FIG. 24(a), the user selected “Fidelity Pension Funds.” For each payee, the system displays the following information: method by which payee will be paid (e.g., check, direct deposit); payer's account number (with payee); payee type, as selected from pull-down menu 4000 (i.e., information required by the payee that is used to define the report sent to the payee along with the disbursement, for example, pension administrator, medical insurance, term life insurance, mortgage lender, child support agency, charity, etc.); payee's bank account and routing numbers; a status indicator 4017 regarding whether the system (i.e., “eOps”) pays the particular payee; and payee's address.

[0335] As shown in FIG. 24(b), when status indicator 4017 is set, the system also displays the day of the month on which the system pays the payee. Status indicator 4017 will be set for payees that have an established relationship with the system.

[0336] As shown in FIG. 24(a), the Employer can add a payee by clicking “Add” button 4005 or delete a payee by selecting the payee and clicking “Delete” button 4010. The user can refresh the information displayed on this interface by clicking “Refresh” button 4015.

[0337] b. Labor Codes

[0338] The “Labor Codes” interface, illustrated by FIG. 25(a), is selectable from sub-menu 4020 and enables modification of industry-defined or Employer-defined labor codes (e.g., “Engineers,” “Managers”) used for reporting. The system displays all labor codes in a selectable list in the “Labor Codes” field 4025. The Employer can add a labor code by clicking “Add” button 4030 or delete a labor code by selecting the labor code and clicking “Delete” button 4035. The user can refresh the information displayed on this interface by clicking “Refresh” button 4040.

[0339] C. General Ledger Designations

[0340] The “General Ledger Codes” interface, illustrated by FIG. 25(b), is selectable from submenu 4020 and enables the Employer to map earning, paid-time-off, deduction, and tax codes to Employer-defined, general ledger naming conventions or codes. The system displays all general ledger codes in a selectable list in the “General Ledger Codes” field 4050. For each general ledger code, the interface enables the Employer to specify: code type (e.g., “Earning Code,” “Paid Time Off,” “Deduction Code,” “Tax Type”), as well as whether the code is specific to a particular office, division, and/or department. The Employer can add a general ledger code by clicking “Add” button 4055 or delete a general ledger code by selecting the code and clicking “Delete” button 4060. The user can refresh the information displayed on this interface by clicking “Refresh” button 4065.

[0341] Employee Information

[0342] The employee information functionality of the system provides the user with the ability to input and modify information about the Employer's employees, including personal information, address information, payroll information, earnings and deductions information, benefits information, and tax information. This information is included in employee data 30. This option is selectable by clicking on “Employees” in navigation bar 3000 in FIG. 6. As shown in navigation bar 4100 in FIG. 26, the system presents the user with a series of five sub-options to choose from within the “Employees” option.

[0343] Each sub-option within the “Employees” option includes a feature that enables the user to select a particular employee from the display list of company employees, as shown in FIG. 26. By clicking on the name of an employee (e.g., “Greenspan, Michael A.”) in display list 4105, the user can select an employee for the purpose of reviewing or modifying the employee's information. The user can also enter an employee name in field 4110 and click “Find” button 4115 in order to locate a particular employee within the list of company employees, which is a useful function in the event that there is a long list of employees.

[0344] Clicking “New Employee” button 4120 causes the system to display the “New Employee” interface, as shown in FIG. 26(a). This interface enables the Employer to enter a new employee into employee data 30. The system guides the user through a workflow sequence that includes a subset of the sub-options of the “Employees” option—described below—such that all required information regarding the new employee (identified in new employee list 4121) will be input. Each sub-option to be completed is listed as a step in option list 4122, with the current option highlighted. Clicking “Next” button 4123 causes the system to navigate the user to the next interface in the new employee entry process.

[0345] For example, as shown in FIG. 26(b), the current option in list 4124 is “Name, ID,” which requires the input of certain name and identification information regarding the new employee. As each option is completed, the system places a check mark adjacent to the respective option name in list 4124. Failure to input any of the required information will result in an error message and the system will not permit the user to advance to the next interface. Clicking “Back” button 4125 causes the system to navigate the user back to the prior interface (e.g., “Employees”). Clicking “Next” button 4126 causes the system to navigate the user forward to the next interface (e.g., “Address”). A system software “wizard” enables the user to navigate backwards and forwards among the workflow screens while preserving data already entered on any of the screens.

[0346] 1. General Information

[0347] This function is divided into three user interfaces, each of which is selectable from navigation bar 4100 in FIG. 26 by clicking on “General Information,” which causes the interface names in sub-menu 4125 of FIG. 27(a) to be displayed.

[0348] a. Personal Information

[0349] The “Personal Information” interface, illustrated by FIG. 27(a), enables input and modification of personal information regarding the selected employee, including: name, employee number, title, social security number, date of birth, marital status (selectable from pull-down menu 4130), race (selectable from pull-down menu 4135), and gender. The user can refresh the information displayed on this interface by clicking “Refresh” button 4140.

[0350] b. Home Address

[0351] The “Home Address” interface, illustrated by FIG. 27(b), enables input and modification of home address information regarding the selected employee, including: street address, city, state, county, zip code, telephone number, fax number, and e-mail address. The system uses the employee's zip code and city to determine applicable tax authorities and tax rules. The user can refresh the information displayed on this interface by clicking “Refresh” button 4145.

[0352] C. Contact Information

[0353] The “Contact Information” interface, illustrated by FIG. 27(c), enables input and modification of Employer contact information regarding the selected employee, including: Employer-defined office (selectable from pull-down menu 4150), Employer-defined division (selectable from pull-down menu 4155), Employer-defined department (selectable from pull-down menu 4160), mail stop, work telephone number, work fax number, and work e-mail address. The user can refresh the information displayed on this interface by clicking “Refresh” button 4165.

[0354] 1. Payroll Information

[0355] This function is divided into four user interfaces, each of which is selectable from navigation bar 4100 in FIG. 26 by clicking on “Payroll Information,” which causes the interface names in sub-menu 4170 of FIG. 28(a) to be displayed.

[0356] a. Payroll Information

[0357] The “Payroll Information” interface, illustrated in FIG. 28(a), enables input and modification of payroll information regarding the selected employee, including: hiring date, payment method (selectable from pull-down menu 4175, e.g., salary, hourly), Employer-defined payroll group (selectable from pull-down menu 4180), Employer-defined labor code (selectable from pull-down menu 4185), “autopay” multiplier (e.g., for part-time employee who works same schedule every day—4 hours/day—multiplier set to 0.5), status indicator regarding whether the employee is exempt from overtime pay, status indicator regarding whether the employee is paid for holidays, and status indicator regarding whether the employee is eligible for pension or profit sharing, as reported on the employee's W-2 form. This information is used to calculate the employee's income, as performed in step 1010 in FIG. 2.

[0358] Clicking “Payroll Groups” button 4190 causes the system to display the previously-described “Payroll Groups” interface, shown in FIGS. 18(a)-(c), which enables the user to view and modify the payroll group, including assignment or reassignment of employees. Clicking “Labor Codes” button 4195 causes the system to display the previously-described “Labor Codes” interface, shown in FIG. 25, which enables the user to view and modify the labor codes.

[0359] If the selected employee is not exempt from overtime pay (as indicated by exemption indicator 4210), as shown in FIG. 28(b), the user can view and modify any customized overtime rules applicable to the employee by clicking “Custom Overtime Rules” button 4215. That action causes the system to display the “Custom Overtime Rules” interface, illustrated by FIG. 28(c), which displays and enables modification of such rules, including the following properties: pay cycle (e.g., “Bi-weekly”), indicator regarding whether default overtime rules apply, overtime multiplier, and overtime hours limit. This functionality enables the Employer to input custom overtime rules, e.g., overtime rates determine by union bargaining agreements.

[0360] The “Payroll Information” interface also provides the Employer with functionality to record the termination of an employee. Such functionality is activated by clicking “Terminate” button 4200, as shown in FIG. 28(a). That action causes the system to display the “Terminate Employee” interface shown in FIG. 29. This interface displays the name and employee number of the selected employee and enables the Employer to set the termination date of an employee, as well as a status indicator regarding whether the termination is due to death of the employee. Clicking “Terminate” button 4222 causes the system to record the particular employee's status as terminated. Using this information, the system enables an Employer to print a final paycheck or W-2 report on demand to give to a terminated employee on the employee's final workday. By setting the employee's termination date in advance, the Employer can issue a prorated final paycheck, including prorated earnings and deductions. The system permits the Employer to enter a termination date subsequent to the current payroll period; when the payroll period that includes the termination date occurs, the system performs all payroll calculations related to the termination.

[0361] The user can refresh the information displayed on the “Payroll Information” interface by clicking “Refresh” button 4205 in FIG. 28(a).

[0362] b. Pay Rates

[0363] The “Pay Rates” interface, illustrated in FIG. 30(a), enables modification of the pay rate types applicable to the selected employee. This information is used to calculate the employee's income, as performed in step 1010 in FIG. 2. The system displays the employee's pay rate types in a selectable list in “Pay Rate Type” field 4225. For each applicable pay rate type, the system displays a status indicator regarding whether the particular pay rate is derived from the employee's pay rate type or job classification. For example, in FIG. 30(a), in which a “Standard” pay rate type is displayed, the “Fix Amount” use indicator 4230 is set with an hourly rate amount of $193.23. The employee's default pay rate type (e.g., “Standard”) can be changed in pull-down menu 4235. Clicking “Pay Rate Types” button 4240 causes the system to display the previously-described “Pay Rate Types” interface, shown in FIGS. 21(a)-(b), which enables the user to view and modify Employer-defined pay rate types.

[0364] In FIG. 30(b), the “Job Classification” use indicator is set with job classifications listed in associated pull-down menu 4255. Clicking “Job Classifications” button 4260 causes the system to display the previously-described “Job Classifications” interface, shown in FIG. 22, which enables input and modification of Employer-defined pay scales for particular job classifications.

[0365] As shown in FIG. 30(a), the Employer can delete a pay rate type from the employee's list by selecting the pay rate type in “Pay Rate Type” field 4225 and clicking “Delete Pay Rate” button 4245. The user can refresh the information displayed on this interface by clicking “Refresh” button 4250.

[0366] C. Periodic Earnings

[0367] The “Periodic Earnings” interface, illustrated in FIG. 31, displays and enables modification of periodic earnings (i.e., non-wage payments and fringe benefits) applicable to the selected employee. This information is used to calculate the employee's income, as performed in step 1010 in FIG. 2. The system displays the applicable periodic earnings (e.g., “Commission,” “Bonus,” “Non-business Use of Company Car”) in a selectable list in “Periodic Earnings” field 4265. For the highlighted periodic earning, the system displays information including: effective date, expiration date, automatic earning cycle (selectable from pull-down menu 4270), automatic rate, total periodic earnings, and periodic earnings goal, if applicable, including indicator and goal amount.

[0368] The Employer can delete a periodic earning from the employee's list by selecting the earning in “Periodic Earnings” field 4265 and clicking “Delete Earning” button 4275. The user can refresh the information displayed on this interface by clicking “Refresh” button 4280.

[0369] d. Periodic Deductions

[0370] The “Periodic Deductions” interface, illustrated in FIG. 32, displays and enables modification of periodic paycheck deductions applicable to the selected employee. This information is used to calculate pre-tax and post-tax payroll deductions (including liens), as performed in steps 1030 and 1060, respectively, in FIG. 2.These deductions can include non-benefit deductions that are a periodic, fixed amount (or percentage), such as mortgage payments, child support, or charitable contributions. The system displays the applicable periodic deductions (e.g., “Child Support,” “401(k) Up To Annual Limit”) in a selectable list in “Periodic Deductions” field 4285. For the highlighted periodic deduction, the system displays information including: effective date, expiration date, calculation method (selectable from pull-down menu, e.g., fixed amount, percent of net wages, percent of gross wages, etc.), automatic deduction cycle (selectable from pull-down menu, e.g., never, every payroll, first payroll of month, last payroll of month), automatic rate, total periodic deductions, periodic deductions goal, if applicable, including indicator and amount, and payee name (selectable from pull-down menu 4290). The system will automatically handle the tax consequences of employees' pre-tax deductions, based on the payee information contained in payees data 70, without requiring any additional paperwork or data entry. Clicking “Payees” button 4295 causes the system to display the previously-described “Payees” interface, shown in FIG. 13, which enables the user to view information regarding the highlighted payee.

[0371] The Employer can delete a periodic deduction from the employee's list by selecting the deduction in “Periodic Deductions” field 4285 and clicking “Delete Deduction” button 4300. The user can refresh the information displayed on this interface by clicking “Refresh” button 4305.

[0372] 1. Benefit Information

[0373] This function is divided into two user interfaces, each of which is selectable from navigation bar 4100 in FIG. 26 by clicking on “Benefit Information,” which causes the interface names in sub-menu 4310 of FIG. 33 to be displayed.

[0374] a. Paid Time Off

[0375] The “Paid Time Off” interface, illustrated in FIG. 33, displays and enables modification of paid-time-off schedules applicable to the selected employee. The system displays the applicable schedules (e.g., “Sick,” “Vacation”) in a selectable list in “PTO Schedules” field 4315. For the highlighted paid-time-off schedule, the system displays year-to-date accrual information, including: accrual carried over from prior year, amount accrued during current year, amount used during current year, calculated balance, and “seniority” in terms of the amount of paid time off that the employee starts with. For example, if two new employees begin working for Employer and one receives no seniority while the other receives 5-years' seniority, the second employee will immediately receive 3-weeks' annual vacation (i.e., awarded by Employer upon 5-years' service) and will top out at the Employer's limit of 5-weeks' annual vacation before the first employee. If “Override Defaults” indicator 4325 is set, the system overrides schedule defaults for a particular employee and display the following additional information: maximum carry over, date to begin accrual, and date accrued benefit becomes available to the employee.

[0376] Clicking “PTO Schedules” button 4320 causes the system to display the previously-described “Paid Time Off and Schedules” interface, shown in FIGS. 10-10(a), which enables the user to view and modify Employer-defined paid-time-off schedules. The Employer can delete a paid-time-off schedule from the employee's list by selecting the schedule in “PTO Schedules” field 4315 and clicking “Delete Paid Time Off Accumulator” button 4330. The user can refresh the information displayed on this interface by clicking “Refresh” button 4335.

[0377] b. Insurance Plans

[0378] The “Insurance Plans” interface, illustrated in FIG. 34(a), displays and enables modification of insurance plans applicable to the selected employee. The system displays the applicable insurance plans (e.g., “Health & Dental,” “Term Life Insurance”) in a selectable list in “Insurance Plans” field 4345. In FIG. 34(a), in which the user selected the “Health & Dental” insurance plan, the system displays information including: effective date, expiration date, covered individuals (selectable from pull-down menu 4350), and a status indicator regarding whether the insurance plan is integrated with Medicare. Clicking “Insurance Plans” button 4345 causes the system to display the previously-described “Benefits” interface, shown in FIGS. 12(a)-12(c), which enables the user to view and modify employee benefit plans.

[0379] In FIG. 34(b), in which the user selected the “Term Life Insurance” plan, the system displays information including: effective date, expiration date, and number of units of the benefit.

[0380] As shown in FIG. 34(a), the Employer can delete an insurance plan from the employee's list by selecting the plan in “Insurance Plans” field 4340 and clicking “Delete Plan” button 4355. The user can refresh the information displayed on this interface by clicking “Refresh” button 4360.

[0381] 1. Tax Information

[0382] This function is divided into three user interfaces, each of which is selectable from navigation bar 4100 in FIG. 26 by clicking on “Tax Information,” which causes the interface names in sub-menu 4365 of FIG. 35(a) to be displayed.

[0383] a. Taxes

[0384] The “Taxes” interface, illustrated in FIG. 35(a), displays and enables modification of tax withholding information for taxes applicable to the selected employee. This information is used to calculate payroll taxes, as performed in step 1050 in FIG. 2.

[0385] The system displays the applicable employee-withholding taxes in a selectable list in “Tax” field 4370. In FIG. 35(a), in which the user selected “FEDERAL INCOME TAX,” the system displays information regarding the employee's federal income tax including: filing status (selectable from pull-down menu 4375, e.g., single, head of household, married), number of W-4 withholding allowances, and a possible method to override the calculated tax amounts or rates, if applicable (selectable from pull-down menu 4380, e.g., none, percentage, adjustment amount, fixed amount).

[0386] In FIG. 35(b), in which the user selected “CA INCOME TAX,” the system displays information regarding the employee's California income tax including: filing status, number of DE-4 allowances, number of regular (W-4) withholding allowances, and override tax calculation method and amount/rate, if applicable.

[0387] Note that the system customizes the “Taxes” interface based on information specific to the particular tax authority. This data is stored in the system server in tax authorities data 80, rather than programmed into the client.

[0388] The user can refresh the information displayed on this interface by clicking “Refresh” button 4385, as shown in FIG. 35(a).

[0389] b. Earned Year-To-Date

[0390] The “Earned YTD” interface, illustrated in FIG. 36, displays year-to-date taxable earnings of the selected employee broken out by month and by type, for example regular income and taxable benefits. The user can refresh the information displayed on this interface by clicking “Refresh” button 4390.

[0391] C. Deducted Year-To-Date

[0392] The “Deducted YTD” interface, illustrated in FIG. 37, displays year-to-date tax deductions of the selected employee broken out by month and by type, for example, federal income tax, California income tax, FICA, Medicare, California disability tax, 401(k) contribution, pre-tax health insurance payments, etc. The user can refresh the information displayed on this interface by clicking “Refresh” button 4395.

[0393] 1. Direct Deposit Information

[0394] This function consists of one user interface which is selectable from navigation bar 4100 in FIG. 26 by clicking on “Direct Deposit Information,” which causes the “Direct Deposits” interface name to be displayed.

[0395] The “Direct Deposits” interface, illustrated in FIG. 38, displays and enables modification of direct deposit information regarding the selected employee. Each employee can designate one or more financial institutions for the electronic direct deposit of all or portions of the employee's paycheck. For each direct deposit destination, the system displays and allows entry of information including: bank name, bank routing number, deposit account number, deposit account type (e.g., checking, savings), deposit method (e.g., fixed amount, percentage), and deposit amount or percentage. The system performs a checksum to validate the bank routing number. This information is used to disburse payments to employees, as performed in step 1142 in FIG. 3.

[0396] The Employer can delete a direct deposit destination from the employee's list by selecting the particular destination and clicking “Delete” button 4400. The user can refresh the information displayed on this interface by clicking “Refresh” button 4405. The Employer can permit employees to access and change their respective direct deposit elections.

[0397] Contractor Information

[0398] The contractor information functionality of the system provides the user with the ability to input and modify information about the independent contractors who are included within Employer's payroll, including personal information, address information, payroll information, earnings and deductions information, and tax information. Much of this information is the same as the type of information stored regarding employees, except that certain information is not necessary for contractors, including paid-time-off and benefits, which contractors typically do not receive. This option is selectable by clicking on “Contractors” in navigation bar 3000 in FIG. 6. As shown in navigation bar 4535 in FIG. 39, the system presents the user with a series of three sub-options to choose from within the “Contractors” option.

[0399] Each sub-option within the “Contractors” option includes a feature that enables the user to select a particular contractor from the display list of contractors, as shown in FIG. 39. By clicking on the name of a contractor (e.g., “Contractor, A.”) in display list 4540, the user can select a contractor for the purpose of reviewing or modifying the contractor's information. The user can also enter a contractor name in field 4545 and click “Find” button 4550 in order to locate a particular contractor within the list of company contractors, which is a useful function in the event that there is a long list of contractors.

[0400] Clicking “New Contractor” button 4555 causes the system to display the “New Contractor” interface, as shown in FIG. 39(a). This interface enables the Employer to enter a new contractor into employee data 30. The system guides the user through a workflow sequence that includes a subset of the sub-options of the “Contractors” option—described below—such that all required information regarding the new contractor (identified in new contractor list 4560) will be input. Each sub-option to be completed is listed as a step in option list 4565, with the current option highlighted. Clicking “Next” button 4570 causes the system to navigate the user to the next interface in the new contractor entry process.

[0401] For example, as shown in FIG. 39(b), the current option in list 4575 is “Name, ID,” which requires the input of certain name and identification information regarding the new contractor. As each option is completed, the system will place a check mark adjacent to the respective option name in list 4575. Failure to input any of the required information will result in an error message and the user will not be able to advance to the next interface. Clicking “Back” button 4580 causes the system to navigate the user back to the prior interface (e.g., “Contractors”). Clicking “Next” button 4585 causes the system to navigate the user forward to the next interface (e.g., “Home Address”). A system software “wizard” enables the user to navigate backwards and forwards among the workflow screens while preserving data already entered on any of the screens.

[0402] 1. General Information

[0403] This function is divided into three user interfaces, each of which is selectable from navigation bar 4500 in FIG. 39 by clicking on “General Information,” which causes the interface names “Personal Information,” “Home Address,” and “Contact Information” to be displayed.

[0404] a. Personal Information

[0405] The “Personal Information” interface (not shown) is the same as the employee “Personal Information” interface illustrated by FIG. 27(a) and enables input and modification of personal information regarding the selected contractor, including: name, contractor number, title, social security number, date of birth, marital status (selectable from pull-down menu, race (selectable from pull-down menu), and gender.

[0406] b. Home Address

[0407] The “Home Address” interface (not shown) is the same as the employee “Home Address” interface illustrated by FIG. 27(b) and enables input and modification of home address information regarding the selected contractor, including: street address, city, state, county, zip code, telephone number, fax number, and e-mail address. The system uses the contractor's zip code and city to determine applicable tax authorities and tax rules.

[0408] c. Contact Information

[0409] The “Contact Information” interface (not shown) is similar to the employee “Contact Information” interface illustrated by FIG. 27(c) and enables input and modification of company contact information regarding the selected contractor, including: Employer-defined office (selectable from pull-down menu), Employer-defined division (selectable from pull-down menu), and Employer-defined department (selectable from pull-down menu).

[0410] 2. Payroll Information

[0411] This function consists of one user interface which is selectable from navigation bar 4535 in FIG. 39 by clicking on “Payroll Information,” which causes the “Pay Rates” interface name to be displayed.

[0412] The “Pay Rates” interface for contractors is the same as that for employees, as illustrated by FIGS. 30(a)-(b) and previously described. This interface enables modification of the pay rate types applicable to the selected contractor. This information is used to calculate the contractor's income, as performed in step 1010 in FIG. 2.

[0413] 3. Direct Deposit Information

[0414] This function consists of one user interface which is selectable from navigation bar 4535 in FIG. 39 by clicking on “Direct Deposit Information,” which causes the “Direct Deposits” interface name to be displayed.

[0415] The “Direct Deposits” interface for contractors is the same as that for employees, as illustrated by FIG. 38 and previously described. This interface displays and enables modification of direct deposit information regarding the selected contractor. Each contractor can designate one or more financial institutions for the electronic direct deposit of all or portions of the contractor's paycheck. This information is used to disburse payments to contractors, as performed in step 1142 in FIG. 3.

[0416] Timesheet and Payroll Features

[0417] The timesheet and payroll functionality of the system enables the Employer to process (i) current, (ii) out-of-order, or (iii) unscheduled payrolls for a particular pay date, including: review, recalculation (if necessary), and approval of individual and aggregated timesheets and paychecks; generation of payroll disbursements to employees, tax authorities, benefit providers, and miscellaneous payees of employees; generation of checks and electronic transactions for payment of the disbursements; and generation of payroll reports. This option is selectable by clicking on “Payroll” in navigation bar 3000 in FIG. 6.

[0418] The “Payroll” option allows the Employer to view, process, and generate reports regarding current, regularly-scheduled payrolls, out-of-order payrolls, or unscheduled payrolls, such as bonus distributions. This distinction is made by the user's selection of either (i) the “Current Payroll” indicator 4410, as shown in FIG. 40(a), or (ii) the “Unscheduled Payroll” indicator 4510, as shown in FIG. 41(a). Within the selected payroll, the Employer can also specify a particular Employer-defined payroll group from pull-down menu 4450, as shown in FIG. 40(a), including a temporary payroll group created for purposes of a special payroll. For example, an Employer could create a temporary payroll group for an out-of-order (i.e., future) payroll for the purpose of forecasting future expenses. Clicking “Payroll Groups” button 4445 causes the system to display the previously-described “Payroll Groups” interface, shown in FIGS. 18(a)-(c), which enables the user to view and modify the payroll group, including assignment or reassignment of employees. For the selected payroll, the system displays and enables modification of the inclusive dates of the payroll as well as the pay date.

[0419] For each payroll to be processed, the timesheet and payroll interface enables the Employer to view the payroll from three reporting views: (1) aggregated timesheet summary for all employees within the selected payroll group; (2) timesheet detail for a particular employee within the selected payroll group; and (3) paycheck detail for a particular employee within the selected payroll group. The user can view one, two, or all three of these views on the same screen, depending upon the user's setting of certain display indicators.

[0420] 1. Show Timesheet Summary

[0421] As shown in FIG. 40(a), if the user checks “Show Summary” indicator 4415, the system displays “Timesheet Summary” table 4420 for the selected payroll and payroll group, in this case the “DEFAULT” group within the current payroll. The displayed information corresponds to summary data 1090 in FIG. 2.

[0422] For each employee and contractor in the payroll group for the pay period, the table displays information including: name, total hours worked, regular hours worked, hours per each Employer-defined paid-time-off schedule (e.g., sick, vacation, personal, holiday), Form 1099 hours, calculated overtime hours, and status indicators showing (i) whether the employee's timesheet is approved and (ii) whether the employee's paycheck is approved. Clicking “Approve All Timesheets” button 4425 causes the system to approve all individual timesheets for the pay period for the employees and contractors in the selected payroll group. Similarly, clicking “Approve All Paychecks” button 4430 causes the system to approve all individual paychecks for the pay period for the employees and contractors in the selected payroll group. The system requires that an employee's timesheet be approved before the employee's paycheck can be approved, and that the paycheck be approved before the paycheck can be printed (or deposited electronically). Note that the Employer can set security levels to control approval of timesheets and paychecks.

[0423] Clicking “Reset All to Autopay” button 4435 causes the system to reset to “autopay” all individual timesheets (regular hours and holidays) for the employees and contractors in the selected payroll group. The “autopay” function is used for employees who work the same amount of hours each pay period. The user can refresh the information displayed on this interface by clicking “Refresh” button 4468.

[0424] The timesheet and payroll interface also provides the Employer with functionality to record the termination of an employee. Such functionality is activated by clicking “Terminate Employee” button 4440. As described above with respect to the “Payroll Information” interface, as shown in FIG. 28(a), that action causes the system to display the previously-described “Terminate Employee” interface shown in FIG. 29.

[0425]FIG. 41(a) illustrates the “Show Summary” option where the user selected “Unscheduled Payroll” indicator 4505, in order to process a one-time payroll with a pay date of Apr. 1, 1999.

[0426] 2. Show Timesheet Detail

[0427] As shown in FIG. 40(a), the user can select a particular employee or contractor by clicking on that employee's record in “Timesheet Summary” table 4420. Once the user has selected an employee or contractor, if the user checks “Show Timesheet” indicator 4470, as shown in FIG. 40(b), the system displays “Timesheet Details” table 4475 for the selected employee or contractor for the current payroll, including the following information, broken out by each day of the pay period: weekday and date, earning type (e.g., “Regular”), pay rate type (e.g., “High Risk”), override pay rate type (if applicable), hours per day, and any explanatory notes. The displayed information corresponds to timesheet data 1002 collected in step 1000 in FIG. 2.

[0428] If the employee's displayed timesheet has not yet been approved, clicking “Approve Timesheet” button 4480 causes the system to approve the timesheet. Conversely, if the timesheet has already been approved, as shown in FIG. 41(b), the user can cause the system to “unapprove” the timesheet by clicking “Unapprove Timesheet” button 4510, thus allowing the Employer to modify the timesheet record. Clicking “Reset to Autopay” button 4485, as shown in FIG. 40(b), causes the system to reset the employee's timesheet to “autopay.” Selecting a particular daily entry in the timesheet and clicking “Delete Row” button 4490 causes the system to delete that row.

[0429] In an embodiment of this invention, the system includes an integrated interface for online and/or offline entry of time and billing information regarding work performed by employees and/or contractors. Time and billing information includes the hourly rates that the Employer charges customers for work performed by employees and/or contractors as well as the number of hours billed by the employees and/or contractors. The interface enables such information to flow directly into the timesheets of the employees and/or contractors, without necessitating double entry of the information into the system.

[0430]FIG. 41(b) illustrates the “Show Timesheet” option for an unscheduled payroll.

[0431] 3. Show Paycheck Detail

[0432] Once the user has selected an employee or contractor, if the user checks “Show Paycheck” indicator 4495, as shown in FIG. 40(c), the system displays “Paycheck” table 4500 for the selected employee or contractor for the current payroll, including the following information: name; employee identification number; standard pay rate; pay period end date; status indicator regarding whether the employee's paycheck was prepaid (e.g., if employee terminated/resigned and last day occurred prior to pay date); earnings and hours broken out by pay rate type (e.g., regular, overtime, reimbursement, health benefits, etc.); and deduction amounts broken out by type (e.g., federal income tax, state income tax, FICA, insurance premiums, 401(k) contributions, etc.), including payee name and any deduction override amounts (if applicable). Pull-down menu 4503 enables selection of a payee name for a particular deduction by the Employer or employee (if authorized by the Employer). “Paycheck” table 4500 also includes a summary for the present and prior paychecks, showing: gross earnings, net earnings, total deductions, and, if selected, Employer contributions on behalf of the employee. FIG. 41(c) illustrates an example of such a table for an employee included in an unscheduled payroll.

[0433] If the employee's displayed paycheck has not yet been approved, clicking “Approve Paycheck” button 4515, as shown in FIG. 41(c), causes the system to approve the paycheck. Conversely, if the paycheck has already been approved, button 4515 will read “Unapprove Paycheck” and the user can cause the system to “unapprove” the paycheck sheet by clicking that button, thus allowing the Employer to modify the paycheck record. Clicking “Recalculate Check” button 4520, as shown in FIG. 41(c), causes the system to recalculate the displayed paycheck based on any modifications made to the paycheck record. Note that the system automatically recalculates an unapproved paycheck as additional information is entered into the record.

[0434] Selecting a particular “Earnings” entry in the paycheck record and clicking “Delete Earning” button 4525 causes the system to delete that earning. Similarly, selecting a particular “Deductions” entry in the paycheck record and clicking “Delete Deduction” button 4530 causes the system to delete that deduction. This function corresponds to the paycheck validation performed in step 1080 in FIG. 2.

[0435] 4. Process Payroll

[0436] At any time during the user's navigation through the timesheet and payroll functionality, and from any interface, the user can submit the selected payroll for electronic processing by clicking “Process Payroll” button 4455, as shown in FIG. 40(a). That action causes the system to display the “Process Payroll” interface shown in FIG. 42. This interface enables the Employer to enter information regarding the payroll prior to electronic processing of the payroll, including pay date, payroll funding method (selectable from “Payroll Funding Method” pull-down menu 4600, thus permitting override of the Employer's default method), and status indicators regarding whether all employees will be prepaid electronically 4605 or paid with checks (i.e., no direct deposit payments) 4610. Clicking “OK” button 4615 commences payroll processing. Such processing includes electronic payments to employees, tax authorities, benefit providers, and miscellaneous payees in accordance with disbursement calculations and rules, or generation of checks to those employees, tax authorities, benefit providers, and miscellaneous payees who do not accept electronic payments. This processing corresponds to the various functions performed in steps 1110 through 1180 in FIG. 3.

[0437] In the situation where an Employer does not have sufficient time to fund a payroll, the system enables the Employer to submit the payroll for processing on the scheduled payroll date and print paychecks the same day. First, the system displays a message, as shown in FIG. 43, which informs the Employer that the payroll must be fully funded with funds confirmed at least one day before the payroll date and displays the earliest possible date (e.g., “Nov. 5, 1999”). The message also informs the Employer that, by initiating a “FedWire” credit and printing paychecks locally, the Employer can move up the payroll date by one day (e.g., “Nov. 4, 1999”). The Employer can initiate a “FedWire” transaction by selecting “Client Initiated FedWire Credit” from the “Payroll Funding Method” pull-down menu 4600 on the “Process Payroll” interface shown in FIG. 42. Following that selection, the system displays a message, as shown in FIG. 44. The message instructs the Employer to have the Employer's bank transmit a FedWire to the system bank account and provides the following information necessary for the FedWire: transfer amount (needed to fund payroll); system bank name, account, and routing number; and transaction number.

[0438] In one embodiment of this invention, an example of the electronic transfer of funds via an ACH transfer (CCD+EDI TXP Addenda record) from the system to the bank account of an employee, tax authority, benefit provider, or miscellaneous payee, includes the following steps. The system application server 10 contains a scheduler that is set to initiate ACH transactions to a particular bank at predetermined times each day. At that time, the server executes an EDI map file that calls various stored procedures which run against system data tables (e.g., “Tax Deposits” table 451, “Collections/Disbursements” table 460). The stored procedures use SQL data access calls to retrieve data regarding electronic transfers to be executed. The EDI system then places such information in a single ACH file according to “NACHA” banking conventions. The system next encrypts and digitally signs the ACH file and transfers the file to the system's FTP site for retrieval by the destination bank within 30 minutes (in another embodiment, the system will “push” the ACH file to the destination bank's FTP site). The bank then retrieves the ACH file from its server, deletes the file from the system's FTP site, and decrypts the file. Once the file is decrypted, the bank can process the file in the ACH system and electronically credit/debit the appropriate bank account(s).

[0439] After the system notifies the user that payroll processing is complete (shortly after clicking “Process Payroll” button 4455), the user can (i) commence the printing of employee paychecks by clicking “Pay Checks” button 4460, and (ii) commence the printing of checks to payees by clicking “Payee Checks” button 4465.

[0440] a. Printing Checks

[0441] Clicking “Pay Checks” button 4460 causes the system to print for each employee in the payroll group either (i) an actual paycheck and pay stub, if the employee did not authorize electronic payment by direct deposit, or (ii) a pay stub, if the employee authorized electronic payment by direct deposit. FIG. 45(a) illustrates a paycheck and pay stub for an employee who did not receive payment by direct deposit. The pay stub provides identifying information regarding the employee and particular payment, as well as current and year-to-date earnings, deductions, taxes, and paid-time-off information. FIG. 45(b) illustrates a pay stub for an employee who received payment by direct deposit. The pay stub provides identifying information regarding the employee and particular payment, as well as current and year-to-date earnings, deductions, taxes, paid-time-off, and direct deposit transaction information. Note that the system provides a “Report Viewer” interface that enables the user to view paychecks and pay stubs online, and to export information in many standard formats to customer accounting systems, spreadsheets, etc.

[0442] Clicking “Payee Checks” button 4465 causes the system to print for each benefit provider or miscellaneous payee to be paid during the current payroll period either (i) an actual check and payment summary, if the payee did not authorize electronic payment, or (ii) a payment summary, if the payee authorized electronic payment. FIGS. 46(a)-(b) illustrate checks and payment summaries for payees who did not receive electronic payments. FIG. 46(a) shows a check and payment summary to a medical insurance benefit provider. The summary provides a list of employees included within the payment, including benefit information regarding each employee. Similarly, FIG. 46(b) shows a check and payment summary to a child support agency. The summary provides a list of employees included within the payment, including identifying information regarding each employee. The system “Report Viewer” interface enables the user to view payee checks and payment summaries online.

[0443] The system permits Employers to order paycheck stock online. The system obtains information about specific employers needed for printing such paycheck stock (e.g., Employer name, address, bank routing and account numbers) from system data tables.

[0444] b. Reporting

[0445] In addition to executing electronic payments and generating paychecks and checks to payees, the system generates and transmits reports, including reports to employees (e.g., pay stubs, annual W-2 statements), tax authorities (e.g., Federal Form 941), benefit providers (e.g., quarterly summary of 401(k) contribution by employees), miscellaneous payees (e.g., payment summaries regarding particular employee(s) for whom payment was made), and Employers (e.g., summary of disbursements made during pay period).

[0446] An example of the electronic transmission of a report via an EDI file from the system to a tax authority includes the following steps. The system application server 10 contains a scheduler that is set to initiate the transmission of reports to a particular tax authority at predetermined times each day. At that time, the server executes an EDI map file that calls various stored procedures that run against system data tables. The stored procedures use SQL data access calls to retrieve data regarding electronic reports to be transmitted. The EDI system then places such information in one or more EDI files according to standards (e.g., AC X12, XML, or proprietary formats) provided by the particular tax authority. The system next places the files in a directory from which they are sent to the tax authority via modem, Internet, value-added network, or custom communications software package, as specified by the tax authority. After receipt of the files the tax authority sends a confirmation message.

[0447] An example of the electronic transmission of an EFTPS tax payment and report via an EDI file from the system to the U.S. Internal Revenue Service (which must be sent the day before a tax deposit is due) includes the following steps. The system application server 10 contains a scheduler that is set to initiate EFTPS transactions to a bank that is a designated “Federal Treasury Agent” at predetermined times each day. At that time, the server executes an EDI map file that calls various stored procedures that run against system data tables. The stored procedures use SQL data access calls to retrieve data regarding the payment and reporting information to be transmitted. The EDI system places such information in one EDI file according to the ASC X12 format. The system next encrypts the file and sends the file via modem or the Internet to the Federal Treasury Agent bank for processing. The Federal Treasury Agent decrypts the file and processes the file in the ACH system, which performs a bulk debit against the payroll system's account for the amounts to be paid to the Internal Revenue Service by all of the Employers whose payments are included in the transmission. Within one hour after receipt of the original EDI file, the Federal Treasury Agent sends a functional acknowledgement EDI file to the system, which provides confirmation of receipt of the original EDI file. Within three hours after receipt of the original EDI file, the Federal Treasury Agent sends an acknowledgement EDI file to the system, which provides confirmation that each individual tax payment was accepted, as well as an “EFT” number for each Employer's tax payment type. The system then sends an acknowledgement EDI file to the Federal Treasury Agent to acknowledge receipt of the confirmation file. Note that the confirmations received by the system are stored in data tables with appropriate links back to the original information sent, such that the system can verify the date that any given report or tax payment has been transmitted and received. The system can also be automated to resolve any transmission errors, based on the system's knowledge of possible error codes related to the transmission.

[0448] Additional Features

[0449] In addition to the features described herein, embodiments of this invention may include further features integrated into the system.

[0450] The system includes electronic copies of forms of third-party payroll systems and services, in order to enable an Employer to seamlessly convert to this system and to populate system databases with the Employer's information from such other systems or services.

[0451] The system can provide Employers with the ability to form affiliate relationships with third-party providers of employee benefit plans, e.g., 401(k) plans or insurance plans. The system handles the electronic flow of data and money between employees and the provider, and enables the Employer to provide personalized benefit plan options from which employees could select, based on aggregated census data provided by the system. The system also enables the providers to market their plans to Employers and employees, including links to providers' web sites.

[0452] The system can provide users with customizable, automated electronic mail “alerts.” For example, the system automatically sends such alerts or reminder messages, based on designated roles (e.g., Employer system administrator, Employer payroll administrator, etc.) to an Employer when new information or rules relevant to the Employer are added to the system, e.g., the enaction of a new tax law. Such alerts can also be used in the event of a system error or when system maintenance will be performed.

[0453] The system can enable the automated processing of written authorizations or signatures. For example, a user can electronically transmit an “image” bearing the user's signature along with an authorization code. If the system recognizes the authorization code, the system imports the image as a binary large object or “blob” and electronically attach the signature to a predetermined form. The system electronically forwards the “signed” form to the appropriate recipient (e.g., tax authority), thus eliminating the need for manual data entry and the forwarding of faxes.

[0454] Additional forms-handling functionality causes required forms to be transmitted to an Employer in PDF format, including an identification code and an electronically-generated bar code. After entering the necessary information in the form, the Employer returns the form to the system electronically. The bar code provides the system with information regarding the necessary steps to complete processing of the form (e.g., send form to tax authority, store data, etc.).

[0455] The foregoing description of the preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in this art. One skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the claims included below. 

What is claimed is:
 1. A computerized system for the performance of payroll and benefits-related calculations, comprising: a first site associated with a first employer, a second site associated with a second employer, and a third site located remotely from the first site and the second site, the third site including a central server facility for the processing of data received from the first site and from the second site; the first site further including: means for the first employer to enter first employer data to be used in payroll and benefits calculations; means for the first employer to specify a first policy to be used in such calculations, including means for specifying a first parameter to be used in a calculation; and means for electronic communication of the first employer data, the first policy and the first parameter to the third site; the second site further including: means for the second employer to enter second employer data to be used in payroll and benefits calculations; means for the second employer to specify a second policy to be used in such calculations, including means for specifying a second parameter to be used in a calculation; and means for electronic communication of the second employer data, the second policy and the second parameter to the third site; and the third site further including: means for electronic communication with the first site and the second site; and means for carrying out payroll and benefits-related calculations, including means for applying the first policy and first parameter to the first data and means for applying the second policy and second parameter to the second data; whereby the results of the calculations are dependent, at least in part, on the policies specified.
 2. The system as recited in claim 1, in which: the means for the first employer to enter first employer data includes means for a first employer employee to enter timesheet data including details of time worked by that employee.
 3. The system as recited in claim 2, in which: the means for the first employer to enter first employer data further includes means for a supervisor of the first employer employee to check the timesheet data entered by the first employer employee.
 4. The system as recited in claim 1, in which: the first site further includes means for the first employer to specify a format of data to be used in a report based on the first employer data and the first site means for electronic communication includes means for communicating the specified format to the third site; and the third site includes means for generating and communicating reports, including means for receiving the format specification from the first site, means for formatting a report in compliance with the format specification, and means for communicating the formatted report to the first site.
 5. The system as recited in claim 1, in which: the first site data entry means includes a timeclock.
 6. The system as recited in claim 1, further comprising: means at the first site for the first employer to specify a third policy, the first policy being applicable to a first group of first employer employees and the third policy being applicable to a second group of first employer employees, the first site communication means including means for communicating the third policy to the third site; and the third site means for carrying out calculations includes means for applying the first policy and first parameter to a portion of the first employer data concerning the first group and for applying the third policy to a portion of the first employer data concerning the second group.
 7. The system as recited in claim 1, in which: the means for carrying out payroll and benefits-related calculations includes means for receiving an indication that an employee has been terminated, and means for generating a final paycheck and W2 for the terminated employee prior to the end of a normal pay period.
 8. The system as recited in claim 1, in which: the third site further includes: means for calculating: (i) a first disbursement amount to a first payee, based on the first data; (ii) a second disbursement amount to a second payee, based on the first data; (iii) a third disbursement amount to the first payee, based on the second data; and (iv) a fourth disbursement amount to the second payee, based on the second data; and means for disbursing a fifth disbursement amount to the first payee, the fifth disbursement amount including the first disbursement amount and the third disbursement amount, and for disbursing a sixth disbursement amount to the second payee, the sixth disbursement amount including the second disbursement amount and the fourth disbursement amount.
 9. The system as recited in claim 1, in which: the third site means for carrying out calculations includes means for calculating first paycheck amounts based on the first data and for calculating second paycheck amounts based on the second data, and for communicating the first paycheck amounts to the first site and the second paycheck amounts to the second site; the first site includes means for printing paychecks based on the first paycheck amounts; and the second site includes means for printing paychecks based on the second paycheck amounts.
 10. The system as recited in claim 9, in which: the third site includes means for communicating electronic representations of paychecks to the first site, the electronic representations being based on the first paycheck amounts, and for communicating electronic representations of paychecks to the second site, the electronic representations being based on the second paycheck amounts; and the first and second sites include means for viewing the electronic representations.
 11. The system as recited in claim 1, further comprising: computer display means at the first site for a first employee to view first deduction amounts to be used in calculating the first employee's paycheck, and computer processing means for the first employee to specify a change in the first deduction amounts, including means for incorporating the specified change in the first employer data prior to communication of the first employer data to the third site; and computer display means at the second site for a second employee to view second deduction amounts to be used in calculating the second employee's paycheck, and computer processing means for the second employee to specify a change in the second deduction amounts, including means for incorporating the specified change in the first employer data prior to communication of the second employer data to the third site.
 12. The system as recited in claim 1, further comprising: computer display means at the first site for a first employee to view a first paystub representing a paycheck not yet issued by the first employer, and computer processing means for the first employee to specify a change in a policy related to the first paystub, including means for communication of the specified change to the third site; and computer display means at the second site for a second employee to view a second paystub representing a paycheck not yet issued by the second employer, and computer processing means for the second employee to specify a change in a policy related to the second paystub, including means for communication of the specified change to the third site.
 13. The system as recited in claim 1, in which: the third site calculation means includes means for (i) applying the rules of a first benefits plan to data related to a first employee, the first employee data being included within the first employer data, and for determining whether the first employee data is consistent with the first benefits plan rules, and (ii) applying the rules of a second benefits plan to data related to a second employee, the second employee data being included within the second employer data, and for determining whether the second employee data is consistent with the second benefits plan rules.
 14. The system as recited in claim 13, in which: the third site means for electronic communications includes means for communicating messages to the first site and the second site specifying that employee data is not consistent with benefits plan rules.
 15. The system as recited in claim 1, in which: the first site data entry means includes two workflows consisting of multiple screens displayed to a user in a predetermined sequence; and the second site data entry means includes two workflows consisting of multiple screens displayed to a user in a predetermined sequence.
 16. The system as recited in claim 15, in which: the first and second sites include means for generating new workflows.
 17. The system as recited in claim 1, in which: the means for carrying out payroll and benefits-related calculations includes means for receiving an indication that a bonus is owed to an employee, and means for generating a paycheck containing the bonus prior to the end of a normal pay period.
 18. The system as recited in claim 1, in which: the third site electronic communications means includes means for communicating information to the first site and the second site in a format designed for viewing in a web browser.
 19. The system as recited in claim 18, in which: the first site and second site data entry means include means for entering data into a web browser interface.
 20. The system as recited in claim 19, in which: the web browser interface makes use of ActiveX controls. 